Heim > Web-Frontend > js-Tutorial > Ausführliche Erklärung der drei Regelmäßigkeitsmodi (gierig, zurückhaltend und besitzergreifend)

Ausführliche Erklärung der drei Regelmäßigkeitsmodi (gierig, zurückhaltend und besitzergreifend)

php中世界最好的语言
Freigeben: 2018-03-30 11:26:39
Original
2487 Leute haben es durchsucht

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 „aaava abb“ übereinzustimmen, erwarten Sie möglicherweise, dass das Ergebnis mit „“ übereinstimmt, aber das tatsächliche Ergebnis Das Ergebnis stimmt überein. Gehen Sie zu „aava “.

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 abzugleichen
String test = "a<tr>aava </tr>abb ";
String reg = "<.+>";
System.out.println(test.replaceAll(reg, "###"));
Nach dem Login kopieren

Ausgabe: a###aava ###abb


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 abzugleichen
String test = "a<tr>aava </tr>abb ";
String reg = "<.+?>";
System.out.println(test.replaceAll(reg, "###"));
Nach dem Login kopieren

Ausgabe: aaava abb

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Für weitere spannende Informationen beachten Sie bitte andere php-bezogene Artikel:


Ausführliche Erklärung zur Verwendung regulärer Ausdrücke unter Linux

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, "###"));
Nach dem Login kopieren

Detaillierte Erklärung zur Verwendung regulärer Ausdrücke

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage