Heim  >  Artikel  >  Backend-Entwicklung  >  Operationsbeispiel der PHP-Preg-Match-Funktion für reguläre Ausdrücke

Operationsbeispiel der PHP-Preg-Match-Funktion für reguläre Ausdrücke

高洛峰
高洛峰Original
2017-01-09 10:13:151597Durchsuche

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)

PHP preg match正则表达式函数的操作实例

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(&#39;pcre.backtrack_limit&#39;, 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 verwandte Artikel zu Betriebsbeispielen der PHP-Preg-Match-Funktion für reguläre Ausdrücke finden Sie auf der chinesischen PHP-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