Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung des kürzesten Übereinstimmungsmusters in regulären Ausdrücken

Verwendung des kürzesten Übereinstimmungsmusters in regulären Ausdrücken

小云云
小云云Original
2017-12-05 14:19:174145Durchsuche

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!

Stellungnahme:
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