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.
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.
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.
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().
Ä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.
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.
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.
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!