From: matz@... (Yukihiro Matsumoto) Date: 1997-12-10T17:05:11+09:00 Subject: [ruby-dev:1030] Re: Regexp#operators (Re: ruby 1.1b1 released) まつもと ゆきひろです In message "[ruby-dev:1028] Regexp#operators (Re: ruby 1.1b1 released)" on 97/12/10, Shin-ichiro HARA writes: |原です。 | |正規表現を細かい部品を組み合わせて書くことができたらいいなと |思っていました。 いや,正直いうと個人的にはそういう場合には文字列を組み合わせ てRegexp.compileを使って欲しいと思っているんですけどね.わざ わざコンパイルたり,元の文字列を取り出したりするのは無駄な気 がします. |Regexp が元の文字列を保持しているとは知りませんでした。そんなら、 |是非オペレータを! まあ,その気になったので, Regexp#+ => (?:a)(?:b) Regexp#| => a|b Regexp#source => 元の文字列を取り出す は作っちゃいました. |後、積(*)、商(/)もあるといいですけど、難しいですかね。 |差し当たって、 | |/foo/ * /bar/ = /(?=bar)foo/ |/foo/ / /bar/ = /(?!bar)foo/ | |で代用してしまうとか。「否定」は // / /foo/ と同値かな。 すいません.なんか正規表現の演算の意味が良く分かんないんです けど….正規表現の積ってなに? 商はもっと分かんないなあ. # 本当はIconでいうところの str =~ (re1|re2) などの方が欲しい # んですけど….これはre1またはre2にマッチする時,真という演 # 算子です.どうやって実装するんだろう? まつもと ゆきひろ /:|)