正規表現にマッチした文字列を得る変数$&

小さなプログラムで正規表現の練習をします。
参照:『新版Perl言語プログラミングレッスン入門編』(p.191)

while s = gets
  if /ca.s/ =~ s
    puts "=> #{$&} --- Matched!"
  else
    puts "=> Not matched..."
  end
end

実行例です。

cats
=> cats --- Matched!
CATS
=> Not matched...
It rains cats and dogs.
=> cats --- Matched!
One car, two cars.
=> cars --- Matched!
ra ta ca sa ma da ba
=> ca s --- Matched!
ca.s
=> ca.s --- Matched!
(CTRL+Cで終了)

同じ処理を、Regexp#matchメソッドとその戻り値であるMatchDataクラスを使って書きます。

regex = /ca.s/
while s = gets
  match = regex.match(s)
  if match
    puts "=> #{match[0]} --- Matched!"
  else
    puts "=> Not matched..."
  end
end