嵌套捕获组如何在正则表达式中编号?

嵌套捕获组如何在正则表达式中编号?,第1张

嵌套捕获组如何在正则表达式中编号?

从perlrequick

如果正则表达式中的分组是嵌套的,则$ 1将获得最左括号开头的组,$ 2将得到下一个括号开头的组,依此类推。

注意 :不包括非捕获组的开头括号(?=)

更新资料

我使用PCRE的程度不高,因为通常使用的是真实的;),但是PCRE的文档显示的内容与Perl相同:

子公司

2.
它将子模式设置为捕获子模式。这意味着,当整个模式匹配时,与子模式匹配的主题字符串部分将通过的
ovector
参数传递回调用方
pcre_exec()
。从左到右(从1开始)对左括号进行计数,以获取捕获子图案的编号。

例如,如果字符串“ the red king”与该模式匹配

the ((red|white) (king|queen))

捕获的子字符串为“红色国王”,“红色”和“国王”,并分别编号为1、2和3。

如果PCRE逐渐偏离了Perl regex兼容性,则可能应重新定义首字母缩写-“ Perl关联正则表达式”,“
Perl可比正则表达式”或其他名称。或者只是剥离含义的字母。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5615518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存