Maison >développement back-end >Problème PHP >php preg_match correspondra au nombre de fois

php preg_match correspondra au nombre de fois

青灯夜游
青灯夜游original
2022-03-21 20:01:231936parcourir

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.

php preg_match correspondra au nombre de fois

L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP7.1, ordinateur DELL G3

La fonction php preg_match() correspondra une fois.

Fonction php preg_match()

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 = &#39;/def/&#39;;
    $num = preg_match($pattern_1, $subject, $matches_1,PREG_OFFSET_CAPTURE,8);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    var_dump($matches_1);
    var_dump($num);   //匹配次数为1次
    $pattern_2 = &#39;/def$/&#39;;
    $num = preg_match($pattern_2, $subject, $matches_2, PREG_OFFSET_CAPTURE, 3);
    var_dump($matches_2);
?>

php preg_match correspondra au nombre de fois

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 数组中包含匹配得到的子串和其出现在目标字符串中的位置。

注意第二次正则表达式与第一次的正则表达式不同,其中加了一个定位符号$

Notez que la deuxième expression régulière est différente de la première expression régulière. Un symbole de positionnement $ 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!

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