Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich Wortgrenzen in regulären PHP-Ausdrücken richtig?

Wie verwende ich Wortgrenzen in regulären PHP-Ausdrücken richtig?

DDD
DDDOriginal
2024-10-21 07:24:03482Durchsuche

How to Correctly Use Word Boundaries in PHP Regular Expressions?

Verstehen der Wortgrenzenfunktionalität in regulären PHP-Ausdrücken

Wenn Sie versuchen, Wortgrenzen für den Abgleich bestimmter Wörter im Inhalt mithilfe regulärer Ausdrücke in PHP zu implementieren, Es ist wichtig, ihr genaues Verhalten zu verstehen. Beim Testen können jedoch unerwartete Ergebnisse auftreten.

Im bereitgestellten Beispiel wurde der Ausdruck „^|b@nimal/i“ verwendet, um das Wort „cat“ nur dann zu finden, wenn es am Anfang eines anderen steht Wort. Die Ergebnisse waren jedoch kontraintuitiv und führten zu Verwirrung darüber, wie PHP Wortgrenzen bestimmt.

Der Schlüssel zum Verständnis der Wortgrenzenübereinstimmung liegt in der Natur von b. Dieser Indikator stimmt mit dem Übergangspunkt zwischen einem W (Wortzeichen) und einem W (Nicht-Wortzeichen) überein. Damit eine Übereinstimmung erfolgreich ist, muss vor dem gewünschten Zeichen ein Wortzeichen vorhanden sein.

Betrachten Sie das erste Beispiel:

preg_match("/(^|\b)@nimal/i", "something@nimal", $match);

Der Ausdruck entspricht einer Wortgrenze zwischen „g“ und „@“, da „g“ ein Wortzeichen und „@“ ein Nicht-Wortzeichen ist.

Im zweiten Beispiel:

preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);

Es findet keine Übereinstimmung statt, da kein Wort vorhanden ist Zeichen vor „@“. Sowohl „!“ und „@“ sind keine Wortzeichen.

Um das Problem zu beheben, beginnen Sie mit einem Wortzeichen vor dem Zeichen, das Sie abgleichen möchten. Dadurch wird das Vorhandensein einer gültigen Wortgrenze sichergestellt.

Das obige ist der detaillierte Inhalt vonWie verwende ich Wortgrenzen in regulären PHP-Ausdrücken richtig?. 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