まつもと ゆきひろです

In message "[ruby-list:9310] Re: 正規表現"
    on 98/08/28, Inaba Hiroto <inaba / st.rim.or.jp> writes:

|> 連想配列でオリジナルの正規表現を作れるってのはできないでしょうか?
|> 上の例を実現するためには
|> $RE['x'] = '.\n'
|> とすればできる、とかね。
|
|直接rubyの話じゃなくてもうしわけないのですが、perl5.005ではオリジナル
|の正規表現が作れるみたいですね。(perlre.pod の Creating custom RE
|engines参照して下さい)

昨日,これを読んで思ったんですが,rubyの場合Regexpのサブクラ
スを作ってRegexp.compileとRegexp.newを再定義すれば同様のこと
が出来ませんかね.

  class CustomRe<Regexp
    def CustomRe.new(str,*args)
      #strを置き換える
      super(str,*args)
    end
    def CustomRe.compile(*args)
      new(*args)
    end
  end
  re = CustomRe.new("....")

ってな感じで.リテラルの正規表現は変えられませんが.

                                まつもと ゆきひろ /:|)