子模式中的相同反向引用,php pcre regexp

子模式中的相同反向引用,php pcre regexp,php,regex,Php,Regex,我在 (?|(星期六)乌尔|(太阳))日 这意味着(Sat)和Sun将以相同的顺序匹配 但是当我用regexbuddy测试时,它发生了一个错误 abt语法 谢谢对于最新版本的PCRE,这应该可以正常工作-您是否确保将regexbuddy切换到PCRE模式 你也需要一个非常新的版本。我的PHP5.2.6安装太旧(PCRE 6.6 2006-02-06),而PHP5.2.17(8.02 2010-03-19)还可以 此测试PHP程序: $a = "it is Sunday tomorrow"; p

我在

(?|(星期六)乌尔|(太阳))日

这意味着(Sat)和Sun将以相同的顺序匹配

但是当我用regexbuddy测试时,它发生了一个错误 abt语法
谢谢

对于最新版本的PCRE,这应该可以正常工作-您是否确保将regexbuddy切换到PCRE模式

你也需要一个非常新的版本。我的PHP5.2.6安装太旧(PCRE 6.6 2006-02-06),而PHP5.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

是的,我用的是3.5.1,太旧了,谢谢。