这个问题在这里已经有了答案:
How to match, but not capture, part of a regex?
(7 个回答)
去年关闭。
我想知道如何在匹配模式后从结果中排除子字符串。
例子:
<a href="?page1"><?php __('string1');?></a>
<a href="?page2"><?php __("string2");?></a>
我只想获取作为参数传递给 __() 函数的字符串。我试过这个正则表达式:
'/__\(((\'([^\']+)\')|(\"([^\"]+)\"))/'
但这会返回用单引号和双引号括起来的“string1”和“string2”。
如何排除单引号和双引号?
最佳答案
您想尝试使用非捕获组 - (?:ABC)
关于正则表达式。匹配模式后如何从结果中排除子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6013485/