From: matz@... (Yukihiro Matsumoto) Date: 1999-03-04T17:12:11+09:00 Subject: [ruby-dev:5971] Re: [REQ] variable of regex まつもと ゆきひろです In message "[ruby-dev:5970] [REQ] variable of regex" on 99/03/04, Keiju ISHITSUKA writes: |正規表現でカッコにマッチした文字列を取り出すのって $1... ぐらいしかな |いですよね. カッコが多くなると数えるのが大変ですし, その前にカッコが増 |えたりすると番号がずれるので嬉しくないことが多いです. ま,気持ちは分かります. |ということで, マッチした文字列を変数に代入してもらえると嬉しいのですが. 案が二つ出ましたね. (1) マッチした部分文字列を変数に代入するもの (2) 部分文字列を番号ではなくラベルで参照できるようにするも の 前者はかなり難しいと思います.というのもRubyの正規表現ルーチ ンはnamazuで使われたり,Rubyと独立で使われることも考慮にいれ てあるので,これ以上Rubyと癒着することは考えにくいです.同様 の理由でPerlで採用された(?{code})なども採用しないと思います. 後者に関しては,解決すべき問題がいくつかあります. * ラベルを含む正規表現の表現形式 * ラベルで指定された部分文字列の取り出し方(sub/gsubや$~で どうやって指定するか) * ラベルの情報をどの構造体のどこに格納するか * 実装大変そう(実装コストのトレードオフ) どれひとつとってもなかなかに難問ですね.いや,やらないって言っ てるんじゃないですよ.たしかPythonの正規表現がラベルの付いた 部分文字列をサポートしていたように思います. (?P