Maison >développement back-end >tutoriel php >Exemple d'opération de la fonction d'expression régulière PHP preg match

Exemple d'opération de la fonction d'expression régulière PHP preg match

高洛峰
高洛峰original
2017-01-09 10:13:151616parcourir

La fonction preg_match() en PHP est une fonction couramment utilisée pour exécuter des expressions régulières. Les expressions régulières sont utilisées dans presque tous les langages de programmation. Cet exemple présente l'application de la fonction d'expression régulière preg_match en PHP.

La fonction preg_match() est utilisée pour la correspondance d'expressions régulières, renvoyant 1 avec succès, sinon renvoyant 0.

preg_match() cessera de correspondre après une correspondance réussie. Si vous souhaitez faire correspondre tous les résultats, vous devez utiliser la fonction preg_match_all().

Syntaxe :

preg_match (pattern , subject, matches)

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

Exemple :

Cet exemple correspond à des lettres majuscules suivies de et d'un espace. ne peut correspondre qu'à J., car preg_match() cessera de correspondre après une correspondance réussie et ne correspondra plus.

<?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);
}
?>

Résultat de sortie :

Array ( [0] => J. )

Ce qui suit est pour tout le monde Présentation du problème de la longueur de la chaîne preg_match

preg_match Regular extrait le contenu cible Il y a un problème de vie ou de mort, et le code est testé à mort.

Plus tard, j'ai soupçonné que preg_match de PHP avait une limite de longueur de chaîne. Effectivement, j'ai découvert que la valeur de "pcre.backtrack_limit" n'était définie que sur 100 000 par défaut.

Solution :

ini_set(&#39;pcre.backtrack_limit&#39;, 999999999);

Remarque : Ce paramètre est disponible après la version PHP 5.2.0.

De plus, parlons de : pcre.recursion_limit

pcre.recursion_limit est la limite de récursion de PCRE. Si cet élément est défini sur une valeur élevée, il consommera toutes les piles disponibles. processus et éventuellement provoquer le crash de PHP.

Vous pouvez également le limiter en modifiant la configuration :

ini_set('pcre.recursion_limit', 99999);

Dans les applications de projet réelles, il est préférable de limiter le memory. :ini_set('memory_limit', '64M'); c'est plus sécurisé.

Pour plus d'articles connexes sur des exemples de fonctionnement de la fonction d'expression régulière PHP preg match, veuillez faire attention au site Web chinois de PHP !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn