回答:
通常のPCREスタイルの正規表現フレーバーを想定します。
あなたのようにそれを確認したい場合は、単一の、完全な言葉、それはです\bTest\b
必要に応じて、ケース非感受性のための適切なフラグで、そしてあなたのプログラミング言語のための区切り文字。\b
「単語の境界」、つまり単語の開始または終了と見なすことができる文字間のポイントを表します。たとえば、単語を区切るためにスペースが使用されているため、スペースの両側に単語の境界があります。
単語の一部としてそれをチェックしたい場合は、Test
大文字小文字を区別しないように適切なフラグを付けただけです。この場合、正規表現の解析のオーバーヘッドがなくなるため、通常、この場合、専用の「サブストリング」メソッドの方が高速になる傾向があることに注意してください。
パターンを固定しないでください。
/Test/
上記の正規表現は、リテラル文字列「Test」がその中にあるかどうかをチェックします。
私は数年遅れていますが、なぜこれではないのですか?
[Tt][Ee][Ss][Tt]
[Aa]
すべての文字のパターンを生成する必要があり、かなり醜くかなり速くなります。
\b
は、「単語の境界」、つまり2つの単語を区切るもの(スペースなど)を表します。」\b
スペースと一致しません。これは、文字間(またはほとんどの場合、行の先頭または末尾)で一致するアサーションです。