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

时间:2012-04-23 16:13:36

标签: php regex

我在

找到了这个

http://www.php.net/manual/en/regexp.reference.subpatterns.php

(|(星期六)UR |(日))天

这个意思(星期六)和太阳将以相同的顺序匹配

但是当我用regexbuddy测试时,它会出错 abt语法 感谢

1 个答案:

答案 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