正規表現 Part8
■ このスレッドは過去ログ倉庫に格納されています
0519デフォルトの名無しさん
2011/09/18(日) 13:32:27.04Flexible Renamer8.4というファイル名変更ソフトに「条件付正規表現」というのがあるのですが、どう使うのか分かりません。
ネットで調べるとPearl、PHPなんかで、同じような書式があるようなんですが、挙動がまったく理解できません。
ネット上には
(?(?=[^A-Z]*[A-Z])\d{2}-[A-Z]{3}-\d{2}|\d{2}-\d{2}-\d{2})
という式があり、aをアルファベット、dをアルファベットとして上式で検索すると
dd-dd-ddとdd-aaa-ddがヒットする、と書いてありますが、dd-aaa-ddはヒットするものの、
dd-dd-ddがヒットしません。
それからよくわかりませんが、
(?(1以上の数字)\d{2}-[A-Z]{3}-\d{2}|\d{2}-\d{2}-\d{2})
とするとdd-dd-ddがヒットします。
自分の理解では条件式にある正規表現があれば真の場合の正規表現をマッチさせ、
条件式にある正規表現がなければ偽の場合の正規表現をまっちさせるのだと理解するのですが、
どうも条件式の書き方と制約、そしてその結果と条件式が真、偽のときにどういう挙動をとるのかがよくわかりません。
誰か分かる人教えてください。すみません教えて君でorz もうアタマが痛くなるくらい調べましたが
私には無理でした。
■ このスレッドは過去ログ倉庫に格納されています