regex - 匹配 () 和不在引号内的字符串
问题描述
我目前的尝试(?<=[,(][^"]).*(?=[,)][^"])
("WideCharToMultiByte", "uint", 0, "uint", 0x400, "uint", Address, "int", Length, "str", String, "int", char_count, "uint", 0, "uint", 0)
https://regex101.com/r/Vd3w7C/3/
如何匹配( )
引号内较少的内容中的所有内容?
仅匹配:0
address
length
string
char_count
0
0
解决方案
使用 PCRE/Onigmo 兼容的正则表达式引擎,您可以使用
(?:\G(?!^),\s*|\()(?:,?\s*"[^"]*")*,\s*\K[^\s,)]+
请参阅正则表达式演示。
详情:
(?:\G(?!^),\s*|\()
- 前一个成功匹配的结尾,然后是一个,
和零个或多个空格,或者一个(
字符(?:,?\s*"[^"]*")*
- 零次或多次出现,?
- 可选逗号\s*
- 零个或多个空格"[^"]*"
- 一个"
,零个或多个字符"
,然后是一个"
字符
,
- 一个逗号\s*
- 零个或多个空格\K
- 匹配重置运算符丢弃到目前为止在整体匹配内存缓冲区中匹配的文本[^\s,)]+
- 除空格外的一个或多个字符,,
以及)
.
推荐阅读
- postgresql - 将 PGAdmin 连接到本地网络中计算机上的 PG 数据库
- flutter - 从 Google Play 安装到我的 Android 手机后 Flutter 崩溃
- react-map-gl - 如何检测到 mapbox 视口已显着移动到“在此区域内搜索”?
- erc20 - 如何使用@faast/coin-payments 接收 ERC20 代币付款
- wordpress - 是否可以在 WordPress 的单页 php 上插入分页?我想用分页替换加载更多按钮
- c# - 无法创建 DispatcherTimer
- dexie - 如何在 Dexie.js 中索引和查询嵌套数组?
- ssl - Kafka - 找不到有效的认证路径
- arrays - 将字符串数组转换为字符串数组
- javascript - 如何到达强框