Rubyで正規表現で文字列取得するときに名前をつけて取得してみよう。

Rubyで正規表現で文字列取得するときに名前をつけて取得してみよう。

正規表現でmatchを使って文字列を取得するときに配列に名前を付けて取得することができます。

使い方は以下の通りです。

text = '生年月日:1111年22月33日'
match_text = /(?<yaer>\d+)年(?<month>\d+)月(?<day>\d+)日/.match(text)

p match_text
p match_text[0]      # => "1111年22月33日"
p match_text[:yaer]  # => "1111"
p match_text[:month] # => "22"
p match_text[:day]   # => "33"

p match_text['yaer'] # => "1111"
p match_text['month']# => "22"
p match_text['day']  # => "33"

簡単ですが参考になれば幸いです(*^^*)