次のJavaコードでは:
public static void main(String[] args) {
String largeText = "abc myphrase. def";
String phrase = "myphrase.";
Pattern myPattern = Pattern.compile("\\b"+Pattern.quote(phrase)+"\\b");
System.out.println("Pattern: "+myPattern);
Matcher myMatcher = myPattern.matcher( largeText );
boolean found = false;
while(myMatcher.find()) {
System.out.println("Found: "+myMatcher.group());
found = true;
}
if(!found){
System.out.println("Not found!");
}
}
私はこの出力を取得します:
Pattern: \b\Qmyphrase.\E\b
Not found!
上記のパターンで一致しない理由を誰かに説明してもらえますか?「myphrase」の代わりに「myphrase」を使用すると、一致します。パターンで。
ご協力ありがとうございました。