正規表現にマッチした文字列を得る変数$&
小さなプログラムで正規表現の練習をします。
参照:『新版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