Die Funktion preg_match() in PHP ist eine häufig verwendete Funktion zum Ausführen regulärer Ausdrücke. Reguläre Ausdrücke werden in fast allen Programmiersprachen verwendet. Dieses Beispiel stellt die Anwendung der Funktion „preg_match“ für reguläre Ausdrücke in PHP vor.
Die Funktion preg_match() wird für den Abgleich regulärer Ausdrücke verwendet und gibt erfolgreich 1 zurück, andernfalls wird 0 zurückgegeben.
preg_match() beendet den Abgleich nach einem erfolgreichen Abgleich. Wenn Sie alle Ergebnisse abgleichen möchten, müssen Sie die Funktion preg_match_all() verwenden.
Syntax:
preg_match (pattern , subject, matches)
Beispiel:
Dieses Beispiel entspricht Großbuchstaben, gefolgt von einem Leerzeichen kann nur mit J. übereinstimmen, da preg_match() die Übereinstimmung nach einer erfolgreichen Übereinstimmung beendet und nicht erneut übereinstimmt.
<?php $str="Daniel J. Gross Catholic High School A. is a faith and family based community committed to developing Christian leaders through educational excellence in the Marianist tradition."; if(preg_match("/[A-Z]. /",$str,$matches)){ print_r($matches); } ?>
Ausgabeergebnis:
Array ( [0] => J. )
Das Folgende ist für alle Einführung in das Problem der Zeichenfolgenlänge von preg_match
preg_match regulär extrahiert den Zielinhalt Es gibt ein Problem auf Leben und Tod, und der Code wird auf Herz und Nieren getestet.
Später vermutete ich, dass PHPs preg_match eine Zeichenfolgenlängenbeschränkung hatte. Tatsächlich stellte ich fest, dass der Wert von „pcre.backtrack_limit“ standardmäßig nur auf 100000 eingestellt war.
Lösung:
ini_set('pcre.backtrack_limit', 999999999);
Hinweis: Dieser Parameter ist nach der PHP-Version 5.2.0 verfügbar.
Lassen Sie uns außerdem über Folgendes sprechen: pcre.recursion_limit
pcre.recursion_limit ist das Rekursionslimit von PCRE. Wenn dieses Element auf einen großen Wert eingestellt ist, verbraucht es die verfügbaren Stapel aller Prozesse und führen schließlich zum Absturz von PHP.
Sie können es auch einschränken, indem Sie die Konfiguration ändern:
ini_set('pcre.recursion_limit', 99999);
In tatsächlichen Projektanwendungen ist es am besten, die zu begrenzen :ini_set('memory_limit', '64M'); , das ist sicherer.
Weitere Betriebsbeispiele der PHP-Preg-Match-Funktion für reguläre Ausdrücke finden Sie auf der chinesischen PHP-Website!