Dieses Mal bringe ich Ihnen eine detaillierte Erklärung der drei Regelmäßigkeitsmodi (gierig, widerstrebend und besitzergreifend) und Vorsichtsmaßnahmen für die Verwendung der drei Regelmäßigkeitsmodi (gierig, widerstrebend und besitzergreifend) Was Sind sie das? Hier sind tatsächliche Fälle.
Gierigkeit (Gierigkeit): 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 ein wenig schrumpfen ): Mindestübereinstimmung
X??, Versuchen Sie länger, ein breiteres Spektrum an Inhalten abzugleichenString test = "a<tr>aava </tr>abb "; String reg = "<.+>"; System.out.println(test.replaceAll(reg, "###"));
Anders als bei Gier erfolgt die Zuordnung im Reluctant-Modus. Doppelter Inhalt
Possessiv (possessiv): Genaue Übereinstimmung
X?+, X*+, Ende des Inhalts, aber im Gegensatz zu Greediness greift der vollständige Abgleich nicht mehr zurück und versucht, einen kleineren Bereich abzugleichenString test = "a<tr>aava </tr>abb "; String reg = "<.+?>"; System.out.println(test.replaceAll(reg, "###"));
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, "###"));
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der drei Regelmäßigkeitsmodi (gierig, zurückhaltend und besitzergreifend). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!