我需要一个PHP正则表达式来识别以下模式:
===快速褐狐===
但是正则表达式无法匹配:
===快速褐狐===
我构建了以下正则表达式-我所以关闭:
={2}[a-zA-z0-9 ]*={2}
像这样在前面和后面使用lookbacking:
(?<=^|[^=])={2}[a-zA-z0-9 ]*={2}(?=$|[^=])
编辑:尽管此解决方案有效,但不如Justin的有效。
这看起来像是一项查找工作:
(?<!=)==[a-zA-z0-9 ]*==(?!=)
我发现以上是最容易阅读的方法。您也可以使用以下方法,其工作方式基本相同:
==(?<!={3})[a-zA-z0-9 ]*(?!={3})==
这也将允许您在同一字符串中多次匹配,只要它们之间有一个break(任何非=
字符(。例如,==foo== ==bar==
应该产生2个匹配,而==foo====bar==
应该不产生任何匹配。
^={2}[a-zA-z0-9's]+={2}$
's
匹配空白^
表示开始$
表示结束