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