Heim >Backend-Entwicklung >PHP-Tutorial >Verwendung des kürzesten Übereinstimmungsmusters in regulären Ausdrücken
Angenommen, Sie haben einen Text und möchten nur den kürzestmöglichen Text abgleichen, nicht den längsten. Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zur Verwendung des kürzesten Übereinstimmungsmusters in regulären Ausdrücken ein.
Vorwort
Vor kurzem wollte ich reguläre Ausdrücke verwenden, um etwas von einer Webseite abzurufen. Der Inhalt war nicht kompliziert, aber es traten viele Probleme auf. . Im Folgenden gibt es nicht viel zu sagen. Werfen wir einen Blick auf die ausführliche Einführung:
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 4a249f0d628e2318394fd9b75b4636b1hello world473f0a7621bec819994bb5020d29372a
abzugleichen
Viele Leute 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 das nicht das, was wir wollen, also wie man Greedy Matching in Minimum Matching umwandelt,
/<.*?h1>/g
Die obige Schreibmethode reicht aus, wie unten gezeigt:
Tatsächlich sollte das Prinzip sehr sein Ganz einfach, denn ? ist ebenfalls ein gieriger Treffer und kann nur 0 zu 1 abgleichen,
, sodass er endet, wenn er mit dem ersten übereinstimmt, wodurch verhindert wird, dass * mit mehreren gierigen Treffern übereinstimmt.
Der obige Inhalt ist die Verwendung des kürzesten Übereinstimmungsmusters in regulären Ausdrücken. Ich hoffe, dass er allen helfen kann.
Verwandte Empfehlungen:
PHP-Sammlung regulärer Ausdrücke
Detaillierte Erläuterung häufig verwendeter Funktionen in PHP-regulären Ausdrücken
Zusammenfassung regulärer Ausdrücke, die häufig in PHP-Formularen verwendet werden
Das obige ist der detaillierte Inhalt vonVerwendung des kürzesten Übereinstimmungsmusters in regulären Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!