From: Tanaka Akira Date: 2003-07-05T14:05:52+09:00 Subject: [ruby-dev:20518] Re: [Oniguruma] explicit capture In article <5FD2F0CF7F5D7F44B00F36870B9E78B508DE5048@SBG-EX4>, kkosako@softbank.co.jp writes: > 「詳説正規表現」を読んでいると、 > .NETにはExplicitCaptureというオプションがあって、 > 名前付きグループ以外のグループのcaptureが無効になるようです。 > > APIには、REG_OPTION_CAPTURE_ONLY_NAMED_GROUP > というフラグを追加しますが、 > さらに、.NETと同じ(?n:....)というオプション指定を追加しても構いませんか? 一般に capture が必要なケースよりも不要なケースのほうがずっと多いと思 うので、これはたくさん使うものに短い記法を使いあまり使わないものには長 い記法を使うという基本に従った良い機能だと思います。 ただ、Ruby にとっての問題は n という文字です。/.../n は既にマルチバイ ト文字を扱わないという指定として使われています。そのため、(?n:...) を 導入すると、中に書くオプションと外に書くオプションで同じ文字なのに違う 機能ということになります。また、外に書けないと 4文字長くなって嬉しくあ りません。なので、文字を変えるしかないんじゃないかと思います。 n というのは named group の n だとおもうんですが、explicit capture の c とか... うぅむ。 In article <1057225010.121505.10651.nullmailer@picachu.netlab.jp>, matz@ruby-lang.org (Yukihiro Matsumoto) writes: > ううむ。.NET正規表現っていろいろ新しいですねえ。 > 今後.NET正規表現に追随するのかどうかも含めて意見歓迎。 個々の機能について考えるしか無いような。 -- [田中 哲][たなか あきら][Tanaka Akira]