Dieses Mal werde ich Ihnen die Verwendung des kürzesten Übereinstimmungsmodus ausführlich erläutern. Was sind die Vorsichtsmaßnahmen, wenn Sie den kürzesten Übereinstimmungsmodus verwenden?
Vorwort
Kürzlich wollte ich reguläre Ausdrücke verwenden, um etwas von der Webseite abzurufen, aber der Inhalt war nicht Es ist kompliziert, aber es gibt viele Probleme. Im Folgenden gibt es nicht viel zu sagen. Schauen wir uns die ausführliche Einführung an:
Wenn wir reguläre Ausdrücke verwenden, um den Anfang und das Ende eines Tags abzugleichen, z. B. um die öffnenden und schließenden Tags von h1 in <h1>hello world</h1>
abzugleichen
Viele schreiben vielleicht so
/<.*h1>/g
Aber ist das wirklich in Ordnung?
Da das *-Übereinstimmungszeichen mit null oder mehr des vorherigen Zeichens übereinstimmt und es sich um eine gierige Übereinstimmung handelt
, erhalten Sie das folgende Ergebnis.
Offensichtlich ist dies nicht das, was wir wollen. Wie kann man also das gierige Matching in ein Minimum-Matching umwandeln?
/<.*?h1>/g
Die obige Schreibmethode reicht aus unten gezeigt:
Tatsächlich sollte das Prinzip sehr einfach sein, da ? auch ein gieriges Match ist und nur 0 zu 1 entsprechen kann,
es wird also übereinstimmen. Es endet, wenn es das erste erreicht, wodurch verhindert wird, dass * gierig mit mehreren übereinstimmt.
PS: Hier sind zwei weitere praktische Tools für reguläre Ausdrücke als Referenz:
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Linux grep und reguläre Ausdrücke verwenden
Reguläre Ausdrücke verwenden, um Eingaben auf dem Inhalt der Anmeldeseite zu überprüfen
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung des kürzesten Übereinstimmungsmodus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!