各行が "test"に等しいかどうかを確認しようとしています。次のコードを実行しようとすると、すべての行が正確に「テスト」されているため、結果は真であると考えられます。しかし、結果は偽です。java - 正規表現一致の予期しない結果
// Expected outcome:
// "test\ntest\ntest" - should match
// "test\nfoo\ntest" - should not match
// "test\ntesttest\ntest" - should not match
Pattern pattern = Pattern.compile("^test$", Pattern.MULTILINE);
Matcher matcher = pattern.matcher("test\ntest");
System.out.println(matcher.matches()); // result is false
私はここで何が欠けていますか?なぜ結果は誤りですか?
ジョーが言ったように、あなたの正規表現は単語testが行の始まりと終わりであることをテストするので、単語 "test"と一致しています。 –