正则表达式。匹配模式后如何从结果中排除子字符串

标签 regex

这个问题在这里已经有了答案:





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/

相关文章:

javascript - 推特用户名的正则表达式

javascript - 在 JS 中组合两个正则表达式

javascript - 阻止插入值?

单引号之间的 Java 正则表达式内容

java - 如何使用正则表达式从 URL 中提取路径?

正则表达式在存在多个时提取第一个 date_time 戳

javascript - 创建一个 javascript 正则表达式来查找以 # 开头的数字(但不包括 HTML 特殊字符或现有链接)

javascript - 如何在 Javascript 中的正则表达式中使用变量

regex - 正则表达式匹配包含子集的整个字符串

javascript - 取一个字符串并将第一个字符大写 - 为什么这会杀死浏览器