0

私はこれを見つけました

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

(?|(土)ur|(日))日

この平均 (土) と日は同じ順序で一致します

しかし、regexbuddyでテストすると、abt構文のエラーが発生しますありがとう

4

1 に答える 1

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
于 2012-04-23T16:27:02.367 に答える