Maison >développement back-end >Problème PHP >php preg_match correspondra au nombre de fois
La fonction php preg_match() correspondra une fois. La fonction preg_match() est utilisée pour rechercher et faire correspondre des chaînes basées sur des expressions régulières, et peut renvoyer le nombre de correspondances ; la valeur de preg_match() sera 0 fois (aucune correspondance) ou 1 fois, car elle s'arrêtera après la première. recherche de correspondance.
L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP7.1, ordinateur DELL G3
La fonction php preg_match() correspondra une fois.
La fonction preg_match() en PHP peut rechercher et faire correspondre des chaînes basées sur des expressions régulières. Le format de syntaxe de la fonction est le suivant :
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
La description du paramètre est la suivante :
$pattern : obligatoire Le modèle de recherche, qui est l'expression régulière modifiée ;
$subject : la chaîne à rechercher ;
$matches : paramètre facultatif (type de tableau), si $matches est fourni, il sera Remplir avec les résultats de la recherche. $matches[0] contient le texte correspondant au modèle complet, $matches[1] contient le texte correspondant au premier sous-groupe de capture, et ainsi de suite
$flags : paramètre facultatif, $flags peut être défini comme PREG_OFFSET_CAPTURE ; . Si cette balise est passée, pour chaque occurrence d'une correspondance, le décalage de chaîne (par rapport à la chaîne cible) sera ajouté au retour
$offset : paramètre facultatif, utilisé pour spécifier le point de départ ; position dans la chaîne cible pour lancer la recherche (l'unité est en octets). La fonction
preg_match() peut renvoyer le nombre de correspondances pour $pattern, sa valeur sera 0 fois (pas de correspondance) ou 1 fois, car preg_match() arrêtera de chercher après la première correspondance.
Exemple : Rechercher une chaîne à l'aide de la fonction preg_match()
<?php $subject = "abcdefghijkdef"; $pattern_1 = '/def/'; $num = preg_match($pattern_1, $subject, $matches_1,PREG_OFFSET_CAPTURE,8); echo '<pre class="brush:php;toolbar:false">'; var_dump($matches_1); var_dump($num); //匹配次数为1次 $pattern_2 = '/def$/'; $num = preg_match($pattern_2, $subject, $matches_2, PREG_OFFSET_CAPTURE, 3); var_dump($matches_2); ?>
Pour la première correspondance, la sous-chaîne correspondant à $pattern_1
sera recherchée à partir de la position 8 de la chaîne, le $matches_2
contient la sous-chaîne correspondante et sa position dans la chaîne cible. $pattern_1
匹配的子串,$matches_2
数组中包含匹配得到的子串和其出现在目标字符串中的位置。
注意第二次正则表达式与第一次的正则表达式不同,其中加了一个定位符号$
$
est ajouté pour indiquer la position à la fin de la chaîne correspondante. Apprentissage recommandé : "Tutoriel vidéo PHP
"🎜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!