塩焼きブログ

塩焼きに関しての研究内容を公開しています

Rubyのif文での正規表現の真偽判定とマッチした文字列グループの取得

Rubyif正規表現を使って真偽判定ができる

str = "hello world to 100 times"
if /hello world/ =~ str
  puts str
end
# hello world to 100 times

否定を行いたい場合はifunlessに変えるか=~!~とする

str = "hello world to 100 times"
if /hello world/ !~ str
  puts str
end

マッチした文字列を取得するには$nを利用する

str = "hello world to 100 times"
if /\Ahello\s(.*?)\sto\s(\d+)\stimes\Z/ =~ str
  puts $1
  puts $2
end
# world
# 100