私はかなり独特の問題を抱えています。のようなパターンを見つけようとしています[some string][word boundary]。簡略化すると、私のコードは次のとおりです。
final Pattern pattern = Pattern.compile(Pattern.quote(someString) + "\\b");
final String value = someString + " ";
System.out.println(pattern.matcher(value).find());
私のロジックは、これtrueが何であるかに関係なく、常に出力する必要があることを示してsomeStringいます。でも:
someString単語文字 (例: "abc") で終わる場合は、true出力されます。- 単語境界で終わる場合
someString(例: "abc.")falseが出力されます。
何が起こっているのですか?私の現在の回避策は、\Wの代わりに使用する\bことですが、その意味はわかりません。