Outils pour utilisateurs

Outils du site


web:php:regex

Ceci est une ancienne révision du document !


Regex

Regex, pour “regular expression” et qui se traduit par “expréssion régulière”, désigne une méthode et une syntaxe codifiée permettant de rechercher/contrôler/extraire des motifs définit dans une chaine de caractère.

Les regex définie à la base pour Perl, ont été adaptée en PHP avec quelques subtilités évoquées sur cette page.

Fonctions

En PHP, les principales fonctions utilise des expressions régulières sont décrites ci-dessous.

Toujours, $pattern (NdT : “motif”) désigne l'expression régulière. Les autres paramètres sont détaillés dans chaque cas. Seuls les paramètres obligatoires/principaux sont évoqués. Pour les autres ou pour toute spécificité, consulter directement la documentation PHP.

preg_grep

$matches = preg_grep( $pattern, $array );

Retourne les éléments de $array qui respectent le motif. Voir la doc.

preg_match

$int = preg_match( $pattern, $string, $matches )
  • $string : chaîne à analyser
  • $matches (facultatif) : tableau des occurences respectants le motif.
  • résultat : 1 si trouvé, 0 sinon, et false en cas d'erreur

Voir la doc.

preg_match_all

$int = preg_match_all( $pattern, $string, $matches )
  • $string : chaîne à analyser
  • $matches (facultatif) : tableau des occurences respectants le motif.
  • résultat : nombre d'occurences (peut être 0), et false en cas d'erreur

Ressemble beaucoup à preg_match, mais diffère légèrement dans son fonctionnement. Voir la doc.

preg_replace

$result = preg_replace( $pattern, $replace, $subject )

Remplace les occurences du motifs par une chaine donnée.

  • $replace : chaîne Chaine de remplacement
  • $subject : chaîne ou tableau dans lequel effectuer le(s) remplacement(s)
  • résultat : chaîne ou tableau correspondant à $subject et où les remplacements ont été faits

Voir la doc.

preg_split

$array = preg_split( $pattern, $string )

Découpe une chaine de caractère en utilisant comme séparateur le motif. Voir la doc.

Syntaxe

web/php/regex.1379592326.txt.gz · Dernière modification : le 19/09/2013 à 12:05 de Yosko