Subbuラクシュミ:
私は正規表現で前後参照の使用を開始しています
私は正規表現をuに続くAQのための肯定先読みであると考えました。しかし、時に入力された文字列は、それがマッチしたイマイチ「ク」です。しかし、私はlookingAt機能のための真の結果を取得します。
String regex="q(?=u)";
Pattern p= Pattern.compile(regex);
String test = "qu";
Matcher m= p.matcher(test);
System.out.println(m.matches());
System.out.println(m.lookingAt());
これがなぜ起こるか誰も説明できますか?
munHunger:
それは文字列全体にマッチしようとしているので、私はそれがあることを前提としてい
マッチ()
領域全体をこのパターンと一致させようとします。
そしてpossitive先読みして、私はそれが一致することはないと思いますu
。つまり試合になりますq
場合は、それが続いていますu
。こうしてq
全体のテスト文字列ではなく、それが文字列全体に一致されていません。
これは、あなたが得るために、これを書くことができる理由です true
String regex="^q(?=u)u";
Pattern p= Pattern.compile(regex);
String test = "qu";
Matcher m= p.matcher(test);
System.out.println(m.matches());
System.out.println(m.lookingAt());