正規表現 Part8
■ このスレッドは過去ログ倉庫に格納されています
0563デフォルトの名無しさん
2011/09/25(日) 00:15:30.57Perl5 or Javascript
●検索か置換か?
検索
●説明
ダブルクオートに囲まれた文字列を取得したい
ただ、「\」の次の文字はエスケープされた文字として扱う
●対象データ
"hogefuga"
"hoge\"fuga"
"hoge\\"fuga"
●希望する結果
hogefuga
hoge"fuga
hoge\
上記のようなありきたりな命題にトライしていたのですが、以下の正規表現のうち1ではうまくいくのに2ではうまくいきませんでした
1. /"((?:(?:\\.)|[^"])*)"/
2. /"((?:[^"]|(?:\\.))*)"/
ただ、僕にはこれが両方同じ意味に見えるのです
なぜこの場合、2ではうまくいかないのでしょうか
気になって眠れません
詳しい方解説お願いします
■ このスレッドは過去ログ倉庫に格納されています