Maison >développement back-end >tutoriel php >phpmaster | En utilisant des expressions régulières PHP

phpmaster | En utilisant des expressions régulières PHP

Jennifer Aniston
Jennifer Anistonoriginal
2025-03-03 08:24:10887parcourir

phpmaster | Using PHP Regular Expressions

Points de base

  • Les expressions régulières (également appelées regex) sont des modèles utilisés pour faire correspondre le texte dans les chaînes. Ils sont particulièrement utiles lorsque vous devez trouver du texte pour différentes instances dans une chaîne.
  • La notation d'expression régulière utilise des caractères et des symboles spéciaux pour définir les modèles. Le symbole "^" spécifie que le match doit commencer au début de la ligne, tandis que "" est un quantificateur qui signifie qu'au moins un "de caractère ou de collection précédent doit être apparié.
  • PHP utilise des fonctions telles que preg_match(), preg_replace() et preg_match_all() pour appliquer des expressions régulières. Ces fonctions peuvent vérifier les champs de formulaire, le texte de format et d'extraire les tableaux d'informations des chaînes, respectivement.
  • Metacharacters, quantificateurs et séparateurs jouent un rôle crucial dans les modèles d'expression réguliers. Comprendre leurs capacités peut vous aider à créer des modèles de recherche plus complexes et précis.
^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$

Ce code semble aussi difficile à comprendre que les anciens hiéroglyphes égyptiens, mais c'est en fait un modèle d'expression régulière pour faire correspondre des adresses e-mail telles que oleomarg32@hotmail.com, Fiery.Rebel@veneuser.info, robustlamp selfmag@gmail.ca, etc. Cet article présentera les bases des expressions régulières et leur application en PHP.

débutant de la notation d'expression régulière

décomposons l'exemple ci-dessus un par un: ^[A-Za-z0-9-_. %] @[A-Za-z0-9-.] .[A-Za-z]{2,4}$

  • ^: Faites correspondre le début de la chaîne.
  • [A-Za-z0-9-_. %] : Faites correspondre une ou plusieurs lettres, chiffres ou caractères spéciaux (-_.%). Bracets carrés [] Définissez les jeux de caractères. Le quantificateur signifie "au moins un".
  • @: Faites littéralement correspondre au symbole "@".
  • [A-Za-z0-9-.] : Faites correspondre une ou plusieurs lettres, chiffres ou points (.).
  • .: Match littéral "."
  • [A-Za-z]{2,4}: Faites correspondre 2 à 4 lettres. Braces {} Spécifie le nombre de répétitions.
  • $: Faites correspondre la fin de la chaîne.

Si vous remplacez le premier quantificateur par *, par exemple:

^[A-Za-z0-9-_.+%]*@[A-Za-z0-9-.]+.[A-Za-z]{2,4}

peut faire correspondre des chaînes comme @SodaCanDrive.com parce que le quantificateur * signifie "zéro ou plus".

Expressions régulières en php

Après avoir compris la notation d'expression régulière, voyons comment l'utiliser dans PHP. PHP fournit plusieurs fonctions pour gérer les expressions régulières: preg_match(), preg_replace() et preg_match_all().

preg_match()

preg_match() Utilisé pour vérifier s'il existe un modèle correspondant dans la chaîne. Renvoie 1 si une correspondance est trouvée, sinon renvoie 0.

<?php
if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$/', $_POST["emailAddy"])) {
    echo "Email address accepted";
} else {
    echo "Email address is all broke.";
}
?>

Notez que les expressions régulières sont enveloppées de slash / comme délimiteur.

preg_replace()

preg_replace() utilisé pour trouver et remplacer les modèles de correspondance.

^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$

U Le modificateur rend les expressions régulières correspondant aux non-fous. Les supports () sont utilisés pour capturer le texte correspondant, et 1 est un rétablissement qui fait référence au premier groupe capturé.

preg_match_all()

preg_match_all() utilisé pour trouver tous les modèles de correspondance dans une chaîne et stocker les résultats dans un tableau.

^[A-Za-z0-9-_.+%]*@[A-Za-z0-9-.]+.[A-Za-z]{2,4}

i Le modificateur signifie insensible au cas.

Cet article ne présente que les bases des expressions régulières, des usages plus avancés, tels que les prospects, les victoires de l'arrière et les back-références plus complexes, veuillez vous référer à la documentation officielle du PHP.

Images de Boris Mrdja / Shutterstock

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