すっかり 7 月ですね。
さて、正規表現のマッチ部分が $1, $2 とかに入るのは知っていたのですが、これだと最後のマッチ結果しか入らないし、たまに美しくない場合がありますね。
で、Rails のソースを読んでいたら、MatchData#captures なるものを発見しました。
match = /^(\d{3})-(\d{4})$/.match('123-4567')
ってときに、
$1 #=> "123" $2 #=> "4567"
なのはいいんですが、
match.captures #=> ["123", "4567"]
とかなってます。覚えときます。