Gierigkeit (gieriger Typ): Maximale Übereinstimmung
X?, X*, X+, X{n,} ist die maximale Übereinstimmung. Wenn Sie beispielsweise „<.+>“ verwenden möchten, um mit „a
Im Greediness-Modus wird versucht, einen möglichst großen Bereich abzugleichen, bis der gesamte Inhalt übereinstimmt. Zu diesem Zeitpunkt, wann Wenn festgestellt wird, dass die Übereinstimmung nicht erfolgreich sein kann, wird der Übereinstimmungsbereich bis zur erfolgreichen Übereinstimmung etwas kleiner.
String test = "a<tr>aava </tr>abb "; String reg = "<.+>"; System.out.println(test.replaceAll(reg, "###"));
Ausgabe: a###abb
Zurückhaltend (Faulheit) (widerstrebend): Mindestübereinstimmung
X??,
Ausgabe: a###aava ###abb
String test = "a<tr>aava </tr>abb "; String reg = "<.+?>"; System.out.println(test.replaceAll(reg, "###"));
X?+, X*+, X++, Das heißt, es wird versucht, den größten Inhaltsbereich bis zum Ende des Inhalts abzugleichen, aber im Gegensatz zu Greediness wird die genaue Übereinstimmung nicht zurückgegeben, wenn versucht wird, einen kleineren Bereich abzugleichen
Ausgabe: a
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, "###"));