Ruby 正規表現で名前付きキャプチャ

Ruby正規表現(?<name>pat) と記述することで、名前付きキャプチャを行うことが出来ます。 キャプチャした文字列のデータは Regexp#match で取得する事が出来ます。

timep = /(?<hour>\d{2}):(?<minus>\d{2}):(?<second>\d{2})/
m = timep.match "11:22:33"
p m[:hour]   # => "11"
p m[:minus]  # => "22"
p m[:second] # => "33"

べんり。