Heim  >  Artikel  >  Backend-Entwicklung  >  Reguläre Ausdrucksfunktion in PHP

Reguläre Ausdrucksfunktion in PHP

小云云
小云云Original
2018-03-26 14:05:012795Durchsuche

Es gibt zwei Sätze von Funktionsbibliotheken für reguläre Ausdrücke in PHP. Ein Satz wird von der PCRE-Bibliothek (Perl Compatible Regular Expression) bereitgestellt, die auf traditionellem NFA basiert. Die PCRE-Bibliothek implementiert den Mustervergleich für reguläre Ausdrücke unter Verwendung derselben Syntaxregeln wie Perl und verwendet Funktionen, die mit dem Präfix „preg_“ benannt sind. Der andere Satz wird von der POSIX-Erweiterungsbibliothek (Portable Operation System Interface) bereitgestellt, die auf POSIX NFA basiert. Erweiterte reguläre POSIX-Ausdrücke werden durch POSIX 1003.2 definiert und verwenden im Allgemeinen Funktionen, die mit dem Präfix „ereg_“ benannt sind.

Die Funktionen der beiden Funktionsbibliotheken sind ähnlich, die Ausführungseffizienz unterscheidet sich jedoch geringfügig. Um dieselbe Funktion zu erreichen, ist die Effizienz der Verwendung der PCRE-Bibliothek im Allgemeinen etwas höher. Seine Verwendung wird im Folgenden ausführlich beschrieben.

Abgleich regulärer Ausdrücke

 1. preg_match()

Funktionsprototyp: int preg_match (string pattern, stringpattern, stringcontent [, array $matches])

Die preg_match()-Funktion sucht im Inhaltsstring und im Inhaltsstring Content das mit dem durch Muster angegebenen regulären Ausdruck übereinstimmt. Wenn Übereinstimmungen bereitgestellt werden, werden die übereinstimmenden Ergebnisse darin platziert. Übereinstimmungen, fügen Sie die passenden Ergebnisse ein. „matches[0]“ enthält den Text, der mit dem gesamten Muster übereinstimmt, „$matches[1]“ enthält die erste erfasste Übereinstimmung des Musterelements in Klammern usw. Diese Funktion führt nur einen Match durch und gibt letztendlich die Anzahl der Matching-Ergebnisse von 0 oder 1 zurück.

2. ereg() und eregi()

ereg() ist die Funktion zum Abgleich regulärer Ausdrücke in der POSIX-Erweiterungsbibliothek. eregi() ist eine Version der Funktion ereg(), bei der die Groß- und Kleinschreibung ignoriert wird. Beide haben ähnliche Funktionen wie preg_match, die Funktion gibt jedoch einen booleschen Wert zurück, der angibt, ob die Übereinstimmung erfolgreich war oder nicht. Es ist zu beachten, dass der erste Parameter der POSIX-Erweiterungsbibliotheksfunktion eine reguläre Ausdruckszeichenfolge akzeptiert, d. h. es ist kein Trennzeichen erforderlich.

3. preg_grep()

Funktionsprototyp: Array preg_grep (Stringmuster, Arraymuster, Arrayinput)

Die Funktion preg_grep() gibt ein Array zurück, das das Eingabearray und die angegebenen Eingabearray-Einheiten enthält dem vorgegebenen Muster entsprechen. Preg_grep() führt außerdem nur einen Abgleich für jedes Element im Eingabearray $input durch. Das Beispiel in Listing 6.3 veranschaulicht lediglich die Verwendung der Funktion preg_grep().

Globalen regulären Ausdrucksabgleich durchführen

 1. preg_match_all()

 Ähnlich der Funktion preg_match(). Wenn der dritte Parameter verwendet wird, werden alle möglichen Übereinstimmungen gesetzt. Diese Funktion gibt die Anzahl der Übereinstimmungen mit dem gesamten Muster zurück (möglicherweise 0) und gibt False zurück, wenn ein Fehler auftritt.  

 2. Mehrzeiliges Matching

Unter POSIX ist es schwierig, komplexe Matching-Operationen nur mit regulären Tabellenfunktionen durchzuführen. Führen Sie beispielsweise passende Suchvorgänge für ganze Dateien durch (insbesondere für mehrzeiligen Text). Eine Möglichkeit, dies mit ereg() zu tun, besteht darin, es in separaten Zeilen zu tun.

Ersetzung regulärer Ausdrücke

1. ereg_replace() und eregi_replace() 

Funktionsprototyp: string ereg_replace (string pattern, stringpattern, stringreplacement, string $string)

ereg_replace() sucht nach dem Muster string pattern in string und ersetzt das passendes Ergebnis mit Ersatz. Beim Austausch. Wenn das Muster Mustereinheiten (oder Untermuster) enthält, werden Positionen in der Form „1“ oder „1“ in „Ersetzung“ durch den mit diesen Untermustern übereinstimmenden Inhalt ersetzt.

Aufteilung regulärer Ausdrücke

 1. split() und spliti()

Funktionsprototyp: Array split (string pattern, stringpattern, stringstring [, int $limit])

Diese Funktion gibt ein String-Array zurück, jede Einheit ist ein String eine Teilzeichenfolge, geteilt durch die Zeichenfolge des regulären Ausdrucks und das Muster des regulären Ausdrucks als Grenze. Wenn „Limit“ festgelegt ist, enthält das zurückgegebene Array höchstens „Limit“ und das zurückgegebene Array enthält höchstens „Limit“-Einheiten. Die letzte Einheit enthält alle verbleibenden Teile von $string. Spliti ist die größenignorierende Version von Split.

 2. preg_split()

Diese Funktion hat die gleiche Funktion wie die Split-Funktion. '

Verwandte Empfehlungen:

Detaillierte Erläuterung häufig verwendeter regulärer Ausdrucksfunktionen in PHP

Detaillierte Erläuterung der Benutzerverwaltung und grep des Linux-Systems regulärer Ausdruck

PHP-Freigabe regulärer Ausdrücke

Das obige ist der detaillierte Inhalt vonReguläre Ausdrucksfunktion 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