Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Linux
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
LeTuto Deb d'Expreg.com
Au secours Docteur !

Je suis une banane en regex, une vraie bille, bref j'y connais que dalle... faut qu'on m'aide là !
Pas de panique mon petit, si tu es arrivé sur ce site, c'est que tu sais au moins ce qu'est une expression régulière, enfin je suppose que tu sais au moins à quoi ça ressemble, non ? Comment ça NON ?M'enfin quoi, fais un effort, tu sais bien... allez, le truc de barbare avec des signes cabalistiques, plus familièrement appelée REGEX.... ça y est, tu vois là ?
Merci de suivre, c'est sympa !
Bon alors, petit canaillou, on va y aller, je te sens motivé là !
Avant de foncer tête baissée dans le vif du sujet, il faut bien vous mettre en tête que l'apprentissage du langage d'expressions régulières n'est pas une mince affaire. Je vais essayer, tant que faire se peut, d'y aller le plus doucement possible en agrémentant le sujet d'un maximum d'exemples.
Dans ce tuto, on va étudier et traiter directement les expressions rationnelles dérivées de PERL, soit les PCRE en laissant les POSIX sur le côté.
Pourquoi ?
Simplement parce que les PCRE sont bien plus rapides et qu'elles permettent de "tout" faire.
Pour ce qui est des POSIX, que vous devrez bien évidement connaître, le site est assez fourni en articles et autres tutos pour que vous ayez tout le loisir d'approfondir le sujet.
Bon assez de blabla, on y va !
Qu'est ce qu'une regex ?
Je ne vais pas refaire un tuto entier, redéfinir la terminologie et reparler des fonctionnalités... la réponse complète est déjà là : >>> PrésentationQuelles sont les fonctions que nous utiliserons pour faire des regex ?
- preg_match
- preg_match_all
- preg_replace
- preg_replace_callback
- preg_split
- preg_grep
- preg_quote
Ici, sur votre droite, vous avez le menu avec les fonctions.
Il suffit de cliquer sur la fonction qui vous intéresse pour avoir un descriptif ainsi qu'une série d'exemples.
Qu'est ce que je dois savoir avant de commencer ?
L'élément primordial avant de commencer, c'est de savoir comment écrire un motif de regex PCRE.Un motif doit, absolument, être délimité afin de dire au moteur de regex où commence et où se termine le masque de recherche. Personnellement, j'ai choisi l'accent grave ` (back-quote)car c'est un caractère très peu utilisé. (voire jamais sauf dans les requête SQL où il permet d'échapper les noms de tables/colonnes)
>>> cf doc->mots réservés Mysql
Délimiter le motif de regex sert également à l'emploi d'une série d'options propre aux PCRE.
Les PCRE, contrairement aux POSIX, acceptent une série d'options qui agissent sur la manière dont le motif est traiter par le moteur d'expressions régulières.
Ces options se trouvent détaillées sur cette page : >>> Options des PCRE
Donc, notre regex s'écrira comme ceci :

Alors, ce petit bout est bien passé, vous vous sentez bien et voulez continuer ?
Si vous n'avez pas tout compris, relisez d'abord cette partie.
