Heim  >  Artikel  >  Backend-Entwicklung  >  Erweiterte Anwendungen regulärer Ausdrücke in PHP

Erweiterte Anwendungen regulärer Ausdrücke in PHP

PHPz
PHPzOriginal
2023-06-22 18:27:111190Durchsuche

In der PHP-Entwicklung sind reguläre Ausdrücke sehr effiziente Werkzeuge, mit denen Entwickler schnell Zeichenfolgenabgleiche, -ersetzungen, -extraktionen und andere Vorgänge durchführen können. In diesem Artikel werden erweiterte Anwendungen regulärer Ausdrücke in PHP vorgestellt, darunter Rückverweise, gieriges und verzögertes Matching, Behauptungen mit der Breite Null usw.

1. Backreference

Backreference ist ein sehr wichtiges Konzept in regulären Ausdrücken. Es kann den Inhalt des bereits übereinstimmenden Unterausdrucks verwenden, um den folgenden String abzugleichen. Wenn Sie in PHP Rückverweise auf reguläre Ausdrücke verwenden, müssen Sie das Sonderzeichen „“ in Kombination mit Zahlen verwenden.

Zum Beispiel kann der folgende reguläre Ausdruck zwei aufeinanderfolgende identische Wörter finden:

/^(w+)s$/

wobei „ „ einen Rückverweis auf den ersten Unterausdruck darstellt, der mit dem vorherigen Wort übereinstimmt.

2. Greedy- und Lazy-Matching

In regulären Ausdrücken bedeutet Greedy-Matching, so viele Zeichen wie möglich abzugleichen, während Lazy-Matching bedeutet, so wenig Zeichen wie möglich abzugleichen. In PHP können Sie Greedy- und Lazy-Matching implementieren, indem Sie „?“ nach dem Quantifizierer hinzufügen. Standardmäßig wird Greedy-Matching verwendet.

Zum Beispiel kann der folgende reguläre Ausdruck mit dem a-Tag in HTML übereinstimmen:

/<a.*?href="(.*?)".*?>(.*?)</a>/

Darunter steht .? für Lazy Matching, (.?) für das Extrahieren der URL im href und des Textinhalts im a-Tag .

3. Zusicherung mit Nullbreite

Zusicherung mit Nullbreite bezieht sich darauf, ob die Vorder- oder Rückseite einer bestimmten Position in der übereinstimmenden Zeichenfolge eine bestimmte Bedingung erfüllt, der übereinstimmende Inhalt jedoch nicht zum Ergebnis gehört, das als Null bezeichnet wird. Breite. Zu den üblichen Behauptungen mit der Breite Null gehören positiver Lookahead, negativer Lookahead, positiver Lookback und negativer Lookahead.

(1) Positiver Look-Ahead

Positiver Look-Ahead passender Inhalt muss unmittelbar auf den abzugleichenden Inhalt folgen.

Zum Beispiel kann der folgende reguläre Ausdruck mit einem Wort gefolgt von einer Zahl übereinstimmen:

/w+(?=d)/

Wobei „(?=d)“ einen vorwärtsgerichteten Lookahead bedeutet, Zahlen abgleicht und keine Zahlen als Ergebnis verwendet.

(2) Negativer Lookahead

Der Inhalt, der durch einen negativen Lookahead erfolgreich abgeglichen wird, darf nicht unmittelbar auf den abzugleichenden Inhalt folgen.

Zum Beispiel kann der folgende reguläre Ausdruck mit einem Wort übereinstimmen, dem keine Zahl folgt:

/w+(?!d)/

wobei „(?!d)“ einen negativen Lookahead darstellt, der mit Inhalten übereinstimmt, die keine Zahl sind, und diese Inhalte nicht verwendet infolge.

(3) Forward Lookback

Forward Lookback Der erfolgreich passende Inhalt muss vor dem abzugleichenden Inhalt liegen.

Zum Beispiel kann der folgende reguläre Ausdruck Datumsangaben abgleichen, bei denen das Jahr vor dem Monat und dem Tag steht:

/(?<=d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[01]))d{4}/

wobei „(?<=d{2}(0[1-9]|1[0-2 ] )(0[1-9]|1-2|3[01]))“ bezeichnet einen regulären Ausdruck, der nach vorne schaut und den Monat und den Tag und damit das Jahr abgleicht und den Monat und den Tag nicht als Ergebnis verwendet .

(4) Negativer Lookback

Der Inhalt, der durch einen negativen Lookback erfolgreich abgeglichen wurde, darf nicht vor dem abzugleichenden Inhalt liegen.

Zum Beispiel kann der folgende reguläre Ausdruck mit allen Zeilen außer den Zeilen übereinstimmen, die mit . beginnen:

/(?<!^).w+/

wobei „(?

4. Fazit

Reguläre Ausdrücke spielen eine große Rolle in der PHP-Entwicklung, insbesondere bei der String-Verarbeitung, der Datenbereinigung usw., und sie sind ein unverzichtbares Werkzeug. In diesem Artikel werden die grundlegenden Inhalte fortgeschrittener Anwendungen regulärer Ausdrücke vorgestellt. Entwickler können nach und nach eingehend lernen, um ihre PHP-Kenntnisse weiter zu verbessern.

Das obige ist der detaillierte Inhalt vonErweiterte Anwendungen regulärer Ausdrücke in PHP. 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