貪欲さ: 最大一致
X?、X*、X+、X{n,} が最大一致です。たとえば、「<.+>」を使用して「a
Greediness モードでは、コンテンツ全体が一致するまで、可能な限り広い範囲で一致しようとします。このとき、マッチングは成功できません。マッチングが成功するまで、小さなマッチング範囲に戻り始めます
String test = "a<tr>aava </tr>abb "; String reg = "<.+>"; System.out.println(test.replaceAll(reg, "###"));
出力: a###abb
Reluctant (怠惰) (Reluctant): 最小一致
X??, {n, m}? および
String test = "a<tr>aava </tr>abb "; String reg = "<.+?>"; System.out.println(test.replaceAll(reg, "###"));
X?+, X*+, X++, X {n , }+ は完全一致です。Greediness パターンの後に + を追加すると、完全一致になります。
Possessive パターンは、Greediness と一定の類似性を持っています。つまり、コンテンツの最後まで最大範囲の一致を試みます。内容は異なりますが、Greediness とは異なります。正確な一致は、より狭い範囲の一致を試行することはなくなりました
String test = "a<tr>aava </tr>abb "; String reg = "<.++>"; String test2 = "<tr>"; String reg2 = "<tr>"; System.out.println(test.replaceAll(reg, "###")); System.out.println(test2.replaceAll(reg2, "###"));