我正在尝试使用正则表达式来匹配开括号后的可变长度数字'('字符。
我试过了
\(\d+
但正则表达式包括匹配中的括号。如何排除它?
我正在使用sublime text regex引擎来进行匹配。
答案 0 :(得分:4)
您可以使用positive lookbehind:
(?<=\()\d+
这里有一个限制:在lookbehind中你只能有已知宽度的模式。您可以使用(?<=\(|\s{5})\d+
,但不能使用(?<=\d:\s*)\d+
。
您可以使用\K
&#34;匹配重置&#34;运算符在\K
之后解决后台的长度限制只是&#34;截断&#34;在使用它的地方匹配,所有与其左侧的模式匹配的文本都被省略:
\(\K\d+
[]
请注意\K
实际上并不是一个lookbehind等效项,因为它之前的文本消耗,而lookbehinds不消耗文本。
答案 1 :(得分:1)
您可以使用捕获组:
/\((\d+)/
非转义括号是正则表达式匹配组,您可以从每个匹配中提取。如果您有一个search'nplace网络系统,$1
通常用于访问这些组。