正規表現は、正規表現クラスつまりRegexpクラスから作るか、「/regexp/」のようにスラッシュで囲むかで作れるけれど、まあ後者が簡単。
test_regexp = Regexp.new('^test', true)
test_regexp = /^test/i
マニュアルには左辺に正規表現、右辺に文字列をおいて評価するように書かれているけれど、Perlから入った僕はすごく違和感がある。
なぜならPerlは逆なのだ。
str = 'test is important.'
test_regexp =~ str
マッチしなければnil。
$test_regexp = qr/^test/i;
$str = 'test is important.';
$str =~ $test_regexp;
と、いろいろ調べてたら逆でも問題ないらしい。
str =~ test_regexp
おお。
Perlerな自分は断然こちらが好きだが、流儀的にはどうなのだろう。
まだよくわからない。
要するにこれはあれか、シンタックスシュガーというやつなんでしょうね。