我在
找到了这个http://www.php.net/manual/en/regexp.reference.subpatterns.php
(|(星期六)UR |(日))天
这个意思(星期六)和太阳将以相同的顺序匹配
但是当我用regexbuddy测试时,它会出错 abt语法 感谢
答案 0 :(得分:2)
这应该适用于最新版本的PCRE - 你确定将regexbuddy切换到PCRE模式吗?
你也需要一个非常新的版本。我的PHP 5.2.6安装太旧了(PCRE 6.6 2006-02-06),而PHP 5.2.17(8.02 2010-03-19)则没问题。
这个测试PHP程序:
$a = "it is Sunday tomorrow";
preg_match('/(?|(Sat)ur|(Sun))day/', $a, $m);
print_r($m);
输出:
Array
(
[0] => Sunday
[1] => Sun
)
如果您的PCRE版本太旧,您将收到此错误:
Compilation failed: unrecognized character after (? at offset 2