From: Minero Aoki Date: 2003-05-07T18:53:47+09:00 Subject: [ruby-list:37655] Re: マッチした部分を配列にしまう方法 青木です。 In mail "[ruby-list:37651] Re: マッチした部分を配列にしまう方法" tsuji.td@ncos.nec.co.jp wrote: > はじめまして、辻(忠)です。 > ># その2 > >file_lines.each { |line| > > if /vc\w\w\w\w\w\w/i =~ line > > その1・2とも正規表現が右側にくるように、 > >  if( line =~ /efct\w\w\w\w\w\w/i) > > って形じゃないと問題あるんじゃないでしょうか。 いや、そこは大丈夫です。 Ruby の =~ は正規表現が左でも動きますから。 例: どちらでも結果は同じ % ruby -e '/abc/ =~ "xyzabcxyz"; p $&' "abc" % ruby -e '"xyzabcxyz" =~ /abc/; p $&' "abc" ちなみに本当は Ruby では「正規表現が右でも動く」が正解です。 =~ を実行するのは正規表現オブジェクトなので、正規表現が左に 来るのが本来の姿なんです。 a =~ b は a.=~(b) ということですから。 ------------------------------------------------------------------- 青木峰郎