Ruby 正規表現で =~ を使って一気に変数に代入してみる

Rubyの正規表現で名前をつけて値を取得する方法を以下で説明しました。

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

上記の各パラメータの取得処理を書かなくても一気に取り出す書き方についてご紹介いたします。

 

変数に一気に代入する場合は【正規表現】 =~ 【文字列】というように書きます。

=~を使うのばポイントです。

 

例は 以下の通りです。

text = '2018年1月1日は何の日でしょう?'

if /(?\d+)年(?\d+)月(?\d+)日/ =~ text
  p year # => "2018"
  p month # => "1"
  p day # => "1"
end

 

ただし注意点として、【正規表現】 =~ 【文字列】を逆にして文字列を左にしたり

正規表現を変数に代入して使うと取得ができないです。

知っておくととても便利ですね(*^^*)

 

何か参考になれば幸いです(*^^*)