私はこれを見つけました
http://www.php.net/manual/en/regexp.reference.subpatterns.php
(?|(土)ur|(日))日
この平均 (土) と日は同じ順序で一致します
しかし、regexbuddyでテストすると、abt構文のエラーが発生しますありがとう
私はこれを見つけました
http://www.php.net/manual/en/regexp.reference.subpatterns.php
(?|(土)ur|(日))日
この平均 (土) と日は同じ順序で一致します
しかし、regexbuddyでテストすると、abt構文のエラーが発生しますありがとう
これは、最近のバージョンの 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