2008-02-27 正規表現 ruby たのしいRubyを読んでいて (第2版 P272) /(.)(\d\d)+(.)/ =~ "123456" の $2がなぜ "45" になるのか、スッと理解できなかった。 $1="1"と$3="6"は簡単。 で、$2は、(\d\d)の1回目の繰り返しで"23"とマッチし、2回目の繰り返しで"45"とマッチした。つまり $2="23"; $2="45"とやったので "23"が上書きされた という動きなのね。 なるほど。