Maison  >  Article  >  développement back-end  >  Comment l'expression régulière PHP preg_match implémente-t-elle la fonction de correspondance ?

Comment l'expression régulière PHP preg_match implémente-t-elle la fonction de correspondance ?

黄舟
黄舟original
2017-07-20 13:15:393346parcourir

L'exemple de cet article décrit l'implémentation de la fonction de correspondance d'expressions régulières par PHP preg_match. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

preg_match — Exécuter une correspondance d'expression régulière

preg_match ( $pattern , $subject , $matches )

Rechercher l'expression régulière donné par sujet et motif Une correspondance de l'expression.

Paramètres :

motif  : Modèle à rechercher, type de chaîne (régulier expression) .
sujet  : chaîne de saisie.
matches  : (facultatif) Si le paramètre matches est fourni, il sera renseigné comme résultat de recherche. $matches[0] contiendra le texte correspondant au modèle complet, $matches[1] contiendra le texte correspondant au premier sous-groupe de capture, et ainsi de suite.

Valeur de retour :

preg_match() renvoie le nombre de correspondances pour le modèle. Sa valeur sera 0 (pas de correspondance) ou 1 car preg_match() arrêtera la recherche après la première correspondance. preg_match_all() en diffère en ce qu'elle recherche le sujet jusqu'à la fin. Si une erreur se produit, preg_match() renvoie FALSE.

Instance 1 :

$label = 'content/112';
$a = preg_match('#content/(\d+)#i', $label, $mc);
var_dump($a);
var_dump($mc);

Sortie :

int(1)
array(2) {
 [0]=>
 string(11) "content/112"
 [1]=>
 string(3) "112"
}

Instance 2 :

$label = 'content/112';
$a = preg_match('#(\w+)/(\d+)#i', $label, $mc);
var_dump($a);
var_dump($mc);

Sortie :

int(1)
array(3) {
 [0]=>
 string(11) "content/112"
 [1]=>
 string(7) "content"
 [2]=>
 string(3) "112"
}

Exemple 3 :

$label = 'content/112';
$a = preg_match('#content1111111/(\d+)#i', $label, $mc);
var_dump($a);
var_dump($mc);

Sortie :

int(0)
array(0) {
}


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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