Maison  >  Article  >  développement back-end  >  Fonction preg_match_all() en PHP : Comment faire correspondre plusieurs chaînes à l'aide d'expressions régulières

Fonction preg_match_all() en PHP : Comment faire correspondre plusieurs chaînes à l'aide d'expressions régulières

WBOY
WBOYoriginal
2023-11-04 13:06:56966parcourir

Fonction preg_match_all() en PHP : Comment faire correspondre plusieurs chaînes à laide dexpressions régulières

Fonction preg_match_all() en PHP : Comment utiliser des expressions régulières pour faire correspondre plusieurs chaînes, des exemples de code spécifiques sont nécessaires

Les expressions régulières sont un outil utilisé pour décrire des modèles de texte, qui peuvent être utilisés pour faire correspondre, rechercher ou remplacer des chaînes dans un texte qui correspond à un modèle. La fonction preg_match_all() en PHP est une fonction très utile qui peut faire correspondre plusieurs chaînes à l'aide d'expressions régulières. La syntaxe de base de la fonction

preg_match_all() est la suivante :

preg_match_all(string $pattern, string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0]]]) : int

Parmi eux, $pattern est un modèle d'expression régulière, $subject est la chaîne à mettre en correspondance, $matches est un paramètre facultatif utilisé pour stocker les résultats correspondants. , $flags est un paramètre d'indicateur facultatif et $offset est un décalage facultatif utilisé pour spécifier la position de départ de la correspondance.

Ci-dessous, nous utilisons un exemple spécifique pour illustrer comment utiliser la fonction preg_match_all() pour faire correspondre plusieurs chaînes.

Supposons que nous ayons une chaîne qui contient des données de date et que nous souhaitions extraire toutes les dates. Nous savons qu'un format courant pour les dates est "aaaa-mm-jj", nous pouvons donc utiliser une expression régulière pour correspondre.

Voici un exemple de code :

<?php
$str = "2022-01-01 is a holiday. 2022-02-14 is Valentine's Day. 2022-03-08 is International Women's Day.";

// 使用正则表达式提取日期
$pattern = "/d{4}-d{2}-d{2}/";
preg_match_all($pattern, $str, $matches);

// 输出匹配结果
foreach ($matches[0] as $date) {
    echo $date . "
";
}
?>

Dans le code ci-dessus, nous définissons d'abord une chaîne $str qui contient des données de date. Ensuite, nous utilisons l'expression régulière "d{4}-d{2}-d{2}" pour faire correspondre les dates. "d" dans l'expression régulière signifie correspondre à n'importe quel nombre, "d{4}" signifie correspondre à quatre nombres et "d{2}" signifie correspondre à deux nombres. Par conséquent, l’expression régulière entière peut correspondre aux dates au format « aaaa-mm-jj ».

Ensuite, nous appelons la fonction preg_match_all(), en passant l'expression régulière, la chaîne et un tableau $matches vide. La fonction stockera les résultats correspondants dans le tableau $matches.

Enfin, nous utilisons une boucle foreach pour parcourir tous les résultats correspondants dans le tableau $matches et les afficher à l'écran.

Exécutez le code ci-dessus et le résultat est le suivant :

2022-01-01
2022-02-14
2022-03-08

Nous avons réussi à extraire toutes les dates de la chaîne.

Grâce à cet exemple, nous pouvons clairement voir l'utilisation de la fonction preg_match_all() lors de la correspondance de plusieurs chaînes. Il vous suffit de définir le modèle d'expression régulière, de transmettre la chaîne à mettre en correspondance et un tableau vide dans la fonction, et la fonction stockera automatiquement les résultats correspondants dans le tableau.

En plus des exemples ci-dessus, la fonction preg_match_all() peut également être utilisée pour faire correspondre d'autres types de chaînes, telles que des adresses e-mail, des numéros de téléphone, etc. Définissez simplement le modèle d’expression régulière correspondant selon vos besoins.

En résumé, la fonction preg_match_all() en PHP est une fonction très puissante et flexible qui peut être utilisée efficacement pour faire correspondre plusieurs chaînes. En définissant le modèle d'expression régulière, nous pouvons facilement extraire la chaîne souhaitée. J'espère que le contenu de cet article pourra aider tout le monde à comprendre et à utiliser la fonction preg_match_all().

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