我想使用正则表达式来匹配字符串tofind
我有两种可能性 第一种
before tofind
第二个是
tofind after
如何将两个示例中的单词 tofind 与一个正则表达式行匹配?
I used
before (tofind) | (tofind) after
它给了他们第 1 场比赛和第 2 场比赛的信息
我的结果总是在数组匹配 1 中
我正在使用 php :
if (preg_match("/before (tofind) | (tofind) after/", $content, $result))
return trim($result[1]);
谢谢
您可以使用分支重置 http://www.regular-expressions.info/branchreset.html特征:
(?|before (tofind)|(tofind) after)
现在两个捕获组具有相同的编号。
注意:您可以对命名捕获执行相同的操作(并且无需重复捕获组的名称):
(?|before (?<mycap>tofind)|(tofind) after)
或使用(?J)
允许重复名称的修饰符(必须放在命名组之前的开头,它不能用作可以放在结束分隔符之后的全局修饰符):
(?J)(?:before (?<mycap>tofind)|(?<mycap>tofind) after)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)