我在
http://www.php.net/manual/en/regexp.reference.subpatterns.php
(?|(周六)您的|(周日))日
此平均值 (星期六) 和 Sun 将按相同的顺序匹配
但是当我使用正则表达式进行测试时,它会发生错误阿布特语法谢谢
这应该适用于最新版本的 PCRE - 您是否确保将正则表达式好友切换到 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