トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

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
で最後にキャプチャされた括弧の中身を参照します。