正規表現で単語をマッチさせる
特定の単語にマッチする正規表現
例えばappという単語を正規表現でマッチさせることを考える。欲しいのはappのみで、appleのようにappを含む別の単語にはマッチさせたくないとする。
このような場合、単語の区切りを表すメタ文字\b
を利用して、以下の正規表現で要件を満たせる。
/\bapp\b/ =~ "this app is very nice." #=> 5 /\bapp\b/ =~ "this apple is very nice." #=> nil
\b
は単語構成文字\w
と、非単語構成文字\W
の境界にマッチするメタ文字だ。基本的に単語構成文字は文字クラス[a-zA-Z0-9_]
と等価だが、Ruby 1.8では日本語文字にもマッチすることに注意。