我现在有两个 preg_match_all() 正在运行,我想将它们合并为一个。每个都找到函数 A 或函数 B 的出现。我知道使用 "this|that" 来匹配这个或那个,但是在匹配 "%this()" 或 "%that()" 时,我不确定是否最好匹配 "%this()| %that()" 或者是否有办法绑定 '|' 两边包含的内容 写一些简短的东西,比如“%this|that()”,我相信它会匹配“%this”和“that()”,但不能匹配“this()”或“that()”。我知道解决我的特定问题的其他方法,但我(希望其他发现此问题的人)很想知道如何正确使用“|” 无需重复整个字符串。这里'
$regex = '/%myFunc\(([0-9]+)\)/u';
$one = preg_match_all($regex, $text, $matches);
$regex2 = '/%otherFunc\(([0-9]+)\)/u';
$two = preg_match_all($regex2, $text, $matches2);
目标更短,例如:
$regex = '/%myFunc|otherFunc\(([0-9]+)\)/u';
preg_match_all($regex, $text, $matches);