Heim > Backend-Entwicklung > PHP-Tutorial > Analysieren des kürzesten Übereinstimmungsmusters in regulären Ausdrücken

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

巴扎黑
Freigeben: 2023-03-16 10:32:01
Original
1861 Leute haben es durchsucht

Der kürzeste Abgleich sollte verwendet werden: Wenn ein Textstück vorhanden ist, möchten Sie nur den kürzesten und nicht den längsten Abgleich abgleichen. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zur Verwendung des kürzesten Matching-Musters in regulären Ausdrücken ein. Die Einführung im Artikel ist sehr detailliert.

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 <h1>hello world</h1> abzugleichen

Viele Leute schreiben vielleicht so


/<.*h1>/g
Nach dem Login kopieren

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
Nach dem Login kopieren

Die obige Schreibmethode reicht aus, wie unten gezeigt:


Tatsächlich sollte das Prinzip sehr einfach sein, denn ? ist auch ein gieriges Match , und kann nur 0 bis 1 abgleichen,

, sodass es endet, wenn es mit dem ersten übereinstimmt, wodurch verhindert wird, dass * gierig darauf ist, mehrere abzugleichen.

Das obige ist der detaillierte Inhalt vonAnalysieren des kürzesten Übereinstimmungsmusters in regulären Ausdrücken. 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