[Gauche-devel-jp] 正規表現の拡張

Back to archive index

Rui Ueyama rui31****@gmail*****
2006年 3月 5日 (日) 15:05:49 JST


Gaucheの正規表現に、PerlやPythonにみられる最近の
表現を追加してみました。

http://rui314.googlepages.com/gauche-0.8.7_pre1-re.patch

このパッチで次の表現が使えるようになります。ただし、表現
を使えるというだけで、ほかの実装のような速度は期待できない
点に注意してください。

・バックリファレンス - \n
n番目の捕捉のカッコと同じ文字列がある場合に成功する
表現です。

・名前つきの捕捉カッコ - (?<name>...)
捕捉のカッコに名前をつけて、細くされた文字列を名前で
参照できます。同じ名前を複数のカッコにつけると、成功
カッコの文字列が返ります。rxmatch-substringにname
にシンボル渡すして、捕捉された文字列を得ることもでき
ます。

名前つきの捕捉カッコはPerlにはありませんが、Pythonや
鬼車にはあります。

・名前によるバックリファレンス - \k<name>
\1や\2と同じように、名前つきのカッコに対するバックリファ
レンスとして動きます。

・後読み - (?<=re) または (?<!=re)
現在のポジションを進めずに、現在のポジションから文字列
の先頭に向かって、カッコの中の正規表現がマッチするか
どうかを試すものです。

PerlやPythonと違ってreが固定長である必要はないです。

-- rui



Gauche-devel-jp メーリングリストの案内
Back to archive index