みなさん、こんにちは。私は、ゼロ幅アサーションの負の先読みを使用して、文字列「abc」を含む文字列と一致させようとしています。これが私が得たものです。
Pattern pattern = new Perl5Compiler().compile("((?!abc).)+");
Perl5Matcher matcher = new Perl5Matcher();
System.out.println(matcher.matches("abc", pattern));
System.out.println(matcher.matches("abdas dfas", pattern));
System.out.println(matcher.matches("d abc ", pattern));
System.out.println(matcher.matches("fafabcdef", pattern));
結果は次のとおりです。
false
true
false
false
私が理解できないのは、文字列「abc」が一致しない理由です。アサーション「abc」の後に文字が含まれていません。誰かがこれがどのように機能するかを理解できますか?tks〜