トップページに戻る
次の正規表現パズルへ
前の正規表現パズルへ
7-3 鬼車の入門
正規表現パズル
鬼車の正規表現の解説です。
名前付き捕獲式集合
(?<名前>正規表現)
括弧の中の正規表現に名前を付ける。
.NETで同様のものがあります。
詳説正規表現2版の396ページ
詳説正規表現3版の402ページ
.NET Framework 開発者ガイド 前方参照構成体
名前指定後方参照
?k<名前>
名前付き捕獲式集合でマッチした文字列にマッチ
数字指定の\1や\2が名前指定になったに過ぎない。
部分式呼び出し(田中哲スペシャル)
?g<名前>
指定した名前の正規表現をコピーしてくる。
発案者の田中哲さんの名を冠して田中哲スペシャルとも呼ばれる。
なんと正規表現の再帰的な定義が可能。(C言語の再帰呼び出しに近い)
相対番号指定呼出し
\g<-n> ただしnは1以上
も可能なようですが、有効な使い道が分かりません。
「正規表現」に無限のパワーを与える田中哲スペシャル
回文や XML にマッチする鬼車の正規表現 - まめめも
ネストレベル付き後方参照
?k<名前-1>
?k<名前-2>
?k<名前+0>
?k<名前+1>
?k<名前+2>
部分式呼び出しを組み合わせて使います。
ただの後方参照は、単純に最後にキャプチャされた括弧の中身を参照しますが、
ネスト付き後方参照は、
自分と同じネストレベルや自分のネストレベル+1
で最後にキャプチャされた括弧の中身を参照します。