From: matz@... (Yukihiro Matsumoto) Date: 1998-03-30T15:05:56+09:00 Subject: [ruby-list:7271] Re: 正規表現がおかしい? まつもと ゆきひろです In message "[ruby-list:7268] 正規表現がおかしい?" on 98/03/30, Sinichiro Dezawa writes: |出沢です | |最後につけたプログラムを通すと、期待した結果が得られないのですが |どこがおかしいでしょうか。 既に柳川さんも指摘しておられるように | if ( /([\d.]+)\s+([^:]*)\s*([:\s])+(\d+)/ ) ここを([:\s]+)にしないと$3には最初の一文字しかマッチしません. さらに | printf "%s%s %s %s %s\n", | $`,$1,$2,$2,$3.gsub(/\s:/,"."),$4 $4の評価よりもgsubが呼ばれる方が前なので$4が壊れています.た とえば f = $4 printf "%s%s %s %s %s\n", $`,$1,$2,$2,$3.gsub(/\s:/,"."),f とでもするとちゃんと出ます. まつもと ゆきひろ /:|)