正規表現

たのしいRubyを読んでいて (第2版 P272)

/(.)(\d\d)+(.)/ =~ "123456" 

の $2がなぜ "45" になるのか、スッと理解できなかった。 $1="1"と$3="6"は簡単。
で、$2は、(\d\d)の1回目の繰り返しで"23"とマッチし、2回目の繰り返しで"45"とマッチした。つまり $2="23"; $2="45"とやったので "23"が上書きされた という動きなのね。 なるほど。