Les Expressions Régulières - Rationnelles - Regex - Regexp
Présentation des deux catégories : POSIX et PCRE
Les fonctions POSIX
- ereg
- eregi
- ereg_replace
- eregi_replace
- split
- spliti
- sql_regcase
Les fonctions PCRE
- preg_grep
- preg_quote
- preg_match
- prg_match_all
- preg_replace
- preg_replace_callback
- preg_split
Les bibliothèques POSIX & PCRE assurent le support des regex dans PHP.
Les expressions régulières PCRE (Perl) sont jusqu'à 4 à 5 fois plus rapide et plus puissantes que les expressions POSIX.
Définissons d'abord la terminologie
De manière à parler le même langage tout au long de ce cours, nous allons en déterminer la terminologie.
Vous connaissez tous ce terme de
REGEX qui est une contraction de l'anglais Regular expression traduit en français par Expressions régulières, mais aussi Expressions rationnelles
Nul n'est besoin de polémiquer sur les différentes interprétations que l'on peut faire du terme "Regular expression".
Nous avons choisi d'utiliser le terme d'
expression régulière et plus simplement de
REGEX.
Ces termes seront employés tout au long de ces pages.
Qu'est ce qu'une expression régulière ?
Les
expressions régulières (ou regex) peuvent être présentées comme un système très
élaboré et très
puissant, permettant de :
TROUVER (retrouver ==> coupler ==> assortir) des
MOTIFS (pattern ==> profils ==> masques ==> structures) et de
TRAITER (récupérer ==> extraire ==> remplacer) des
éléments à l'intérieur d'un chaîne de caractères. En effet, ce système est conçu uniquement pour traiter des chaines de caractères.
On commence par déterminer le motif de ce que l'on cherche avant d'en appliquer le traitement souhaité grâce aux fonctions fournies par PHP.
Pour vous aider dans la compréhension de ce formidable outil, le cours sera agrémenté, pour chaque fonction, d'une multitude d'exemples simples, qui se compliqueront par la suite, pour en arriver à des structures assez élaborées.
Chaque exemple est agrémenté d'un commentaire détaillant la lecture du masque, ainsi que son niveau de difficulté à la compréhension.
Notre but n'est pas de faire un cours pointu (quoi que) sur ces expressions régulières, mais plutôt de vous faire comprendre le plus simplement possible, la manière dont ces expressions fonctionnent.
Qu'est ce que je peux faire avec une expression régulière ?
Perso, j'aurais tendance à dire que l'on peut
tout faire avec une expression régulière... rien ne semble impossible en effet !
Dans la suite de ce cours, nous vous présenterons deux types d'expressions utilisées avec PHP :
POSIX et PCRE (Perl Compatible Regular Expression)
Comme dit en début de page, les expressions PCRE (héritée de Perl) sont bien plus puissantes que les POSIX.
Quelques exemples d'applications :
- vérifier la validité des chaînes de caractères (email, entrée chiffrée, entrée texte, etc...)
- extraire des parties bien précises d'une chaîne, d'un texte, d'une page, etc...
- rendre des emails et url cliquables dans vos textes.
- gérer des éléments spécifiques placés entre vos balises perso, mise en forme, style spécial, etc...
- et bien d'autres encore...
Même si l'envie de vous plonger directement dans le vif du sujet vous tenaille, je vous conseille quand même de lire ces pages afin de vous familiariser avec les symboles, options, règles, etc...
Pour ceux qui sont vraiment pressés, vous pouvez vous servir directement du
>>> Tutodeb
Rédaction Yves Maistriaux :: Mai 2003
Dernière mise à jour :: Décembre 2005