正規表現道場 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
10:nobodyさん 07/01/21 20:27:33 これは…PCREのバグを踏んじゃった可能性が結構高そうな… echo preg_match('{^(?:/(?:[a-z]*))*$}', "//abca"); => 0 Perl互換正規表現と言うくらいなのでPerlとの比較をしてみても勿論このとおり $ perl -e 'print scalar "//abca" =~ m{^(?:/(?:[a-z]*))*$};' => 1 後で念のためPCRE直接叩いてみよう 11:()と(?:)の違い 07/01/21 21:20:40 HARdTCVv >>10 ふぅむ、バグの可能性もあるんですか〜 //abca じゃなくて /abca/abca とかならマッチするんですよね。 実はパスをディレクトリに分解しようとおもいまして、 その途中に // が入っているようなケースで挙動がおかしいので調べてました。 //abcde は / と /abcde に分解したかったんです。 12:10 07/01/21 23:05:47 ふう、PCRE付属のpcretestでバージョン別検証。 [PCRE version 6.6 06-Feb-2006] re> /^(?:a(?:b*))*$/ data> aa 0: aa [PCRE version 6.7 04-Jul-2006] re> /^(?:a(?:b*))*$/ data> aa No match [PCRE version 7.0 18-Dec-2006] re> /^(?:a(?:b*))*$/ data> aa 0: aa ver6.7のみ上手くマッチしないと言う結果になった。 changelogの7.0をみてもそれっぽいのが見つけられないけれど、38辺りかなぁ… ちなみにPHPで使ってるPCREのバージョンは、 phpinfoのpcreのPCRE Library Versionで確認できる
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5335日前に更新/179 KB
担当:undef