作者: Bruce.
日時: 2006/3/05(03:18)
Bruce.です。

Kazuhiro NISHIYAMA さんは書きました (2006/03/05 2:54):
> ちなみにRubyだとnilになるはずです。
> 
> if /\d+(\.\d+)?/ =~ '123'
>   p [$&, $1] #=> ["123", nil]
> end

置換結果の文字列を見てもなにも入ってこなかったので
空文字列になるものと判断していました。

>> にしても末尾の空白を何とかできんものか。
>> PerlやRubyなら消せたんだが。
> 
> PerlやRubyではどうやったのでしょうか?

Perlならe修飾子で、Rubyならブロックを使って直接文字列に
置換するのでなくプログラム片を評価させてその結果で置き
換えるようにしただけです。

Pythonだと置換文字列の代わりに評価関数を置くという手が
あるのですが、今回それは禁じ手と見ましたので。lambdaが
高機能なら使ってたでしょうけど(笑)

-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
  mail kbk@...
	web  www.kt.rim.or.jp/~kbk/index.html#zakkicho
	     homepage3.nifty.com/farstar/