[ruby-list:41678] Re: 正規表現について

From: keiichi matsunaga <ma2@...>
Date: 2005-12-07 02:35:50 UTC
List: ruby-list #41678
 松永です。

差出人  :Takeyuki Fujiokaさん
タイトル:[ruby-list:41677] 正規表現について

|str.gsub(/[%$_^]/,"\\#{$1}") といった感じにやって

  マニュアルよると,置換文字列には「$数字」は使えないけど「\数字」は使
えるみたいですね。

irb(main):027:0> str.gsub(/[%$_^]/,'\\ \\1')
=> "abc\\ %def\\ $ghi\\ _jkl\\ ^mno"

irb(main):028:0> str.gsub(/([%$_^])/,'\\\\1')
=> "abc\\1def\\1ghi\\1jkl\\1mno"

 あれ'\\\\1'にするとうまくいかないのはなぜだろう。「\\\\」→「\\」の
エスケープが優先されちゃうから?

-- ------------------------------------------------
松永肇一(keiichi matsunaga)
株式会社ライフメディア 開発部
RSSでがんばってみよう → http://www.imi.ne.jp/fortune/imi_uranai.html


In This Thread