Maison > Article > développement back-end > Exemple d'opération de la fonction d'expression régulière PHP preg match
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)
Exemple :
Cet exemple correspond à des lettres majuscules suivies de . 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('pcre.backtrack_limit', 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'exemples d'opérations de la fonction d'expression régulière PHP preg match, veuillez faire attention au site Web PHP chinois !