でこれを調べたところ、値を期待していたときにirb
メタ文字\<
と\>
が nil を返すことがわかりました。私が使用しているチートシートでは、これらのメタ文字はそれぞれ「単語の開始」と「単語の終了」と呼ばれています。しかし、それらは「単語境界」と同じように機能しませんか?
Friedl による「Mastering Regular Expression」の例にも当てはまるようです。
irb(main):001:0> "this cat is fat" =~ /\bcat\b/
=> 5
irb(main):002:0> "this cat is fat" =~ /\<cat\>/
=> nil
irb(main):003:0> "cat" =~ /\<cat\>/
=> nil