2017-05-17 8 views
1

私はずっと前にRegexを使っていません。正規表現に関連する単語境界 b

\ bcat \ bは_catのcatと一致しません。私は_が非単語のcharであり、cがwordのcharであることがわかります。したがって、私は_catの猫と一致させるべきだと思います。しかし、以下のフォーラムでは、それはそうではないと言います。

http://www.rexegg.com/regex-boundaries.html#wordboundary

はかなりその背後にある理由を理解していませんでした。

答えて

1

\ bアンカーは、単語の文字(\ w言語要素)と単語以外の文字(\ W言語要素)の境界に一致する必要があることを指定します。ワード文字は英数字とアンダースコアで構成されます。非単語文字は、英数字またはアンダースコアでない任意の文字です。詳細については、「文字クラス」を参照してください。)文字列の先頭または末尾の単語境界にも一致することがあります。

"_cat"の4文字はすべて\ wに一致するすべての単語文字です。 文字クラスを参照してください:https://msdn.microsoft.com/en-us/library/20bw873z(v=vs.110).aspx

関連する問題