\b
正規表現のメタ文字との違いを説明していただけますか\w
? これらのメタ文字は両方とも単語の境界に使用されると理解しています。これとは別に、多言語コンテンツにはどのメタ文字が効率的ですか?
ベストアンサー1
メタ文字\b
はキャレットやドル記号のようなアンカーです。これは、「単語境界」この一致は長さゼロです。
単語の境界として適格となる位置は 3 つあります。
- 文字列の最初の文字が単語文字である場合、その文字の前。
- 最後の文字が単語文字である場合、文字列の最後の文字の後。
- 文字列内の 2 つの文字の間。一方は単語文字であり、もう一方は単語文字ではありません。
\b
簡単に言うと、「単語全体のみ」の形式の正規表現を使用して検索します\bword\b
。「単語の文字」は単語を形成するために使用できる文字です。「単語の文字」は「非単語文字」。
すべてのフレーバーにおいて、文字[a-zA-Z0-9_]
は単語文字です。これらは、短縮文字クラスにも一致します\w
。「アスキー」フレーバー比較における単語境界は、これらだけを単語文字として認識します。
\w
を意味する「単語の文字」通常は です[A-Za-z0-9_]
。アンダースコアと数字が含まれていることに注意してください。
\B
は .の否定形です\b
。が含まれない\B
すべての位置に一致します。 実質的には、 2 つの単語文字間の任意の位置、および 2 つの非単語文字間の任意の位置に一致します。\b
\B
\W
は の省略形で[^\w]
、 の否定形です\w
。