Tout d'abord, il faut savoir que les expressions régulières utilisées sont celles de PHP, plus précisément de la fonction eregi (expressions régulières sans contrôle de la casse). Le format de ces expressions régulières est le format POSIX.

Une expression régulière est composée de une à plusieurs branches séparées par l'opérateur ‘|’ .

Une branche est composée de une à plusieurs pièces concaténées.

Une pièce est un atome qui peut éventuellement être suivi des opérateurs suivants : ‘*’, ‘+’ et ‘?’.
L'opérateur ‘*’ signifie que l'atome lié est présent zéro ou plusieurs fois.
L'opérateur ‘+’ signifie que l'atome lié est présent une ou plusieurs fois.
L'opérateur ‘?’ signifie que l'atome lié est présent zéro ou une fois.

Une limitation est composée du caractère ‘{’, suivi d'un chiffre entier, éventuellement suivi d'une virgule, elle-même obligatoirement suivie d'un autre entier supérieur au premier, le tout obligatoirement terminé par le caractère ‘}’. Une limitation suit toujours un atome.
Une limitation de la forme {i} signifie que l'atome lié est présent i fois.
Une limitation de la forme {i,j} signifie que l'atome lié est présent au moins i fois et au plus j fois.

Un atome est :

  • une expression régulière incluse dans ‘()’ (qui signifie une vérification de l'expression régulière)
  • un ‘()’ vide (qui signifie une chaine nulle)
  • une expression entre crochets [] (voir plus bas)
  • le caractère ‘.’ (qui signifie n'importe quel caractère unique)
  • le caractère ‘^’ (qui signifie le début d'une chaine)
  • le caractère ‘$’ (qui signifie la fin d'une chaine)
  • le caractère ‘\’ suivi d'un des caractères suivants ‘^.[$()|*+?{’ (qui signifie l'un de ces caractères pris comme simple caractère et non pas un opérateur)
  • le caractère ‘{’ suivi d'un caractère autre qu'un chiffre est un caractère ordinaire et non pas le début d'une limitation

Une expression entre crochets est une liste de caractères entre les crochets ‘[’ et ‘]’. Il est possible de spécifier une série de caractères à l'aide du caractère ‘-’. Par exemple [a-z] pour la série de ‘a’ à ‘z’ ou [3-7] pour la série de ‘3’ à ‘7’. Pour inclure le caractère ‘-’ dans la liste de caractères, il faut le placer en première ou dernière position.

Il existe plusieurs autres opérateurs, donc la description complète, précise et en anglais est disponible ici.

Je vais donc lister maintenant quelques exemples d'expressions régulières, avec leurs explications respectives, afin d'essayer de clarifier tout ça.

  • abcd : tout référent comprenant la chaine « abcd ».
  • ^abcd : tout référent commençant par la chaine « abcd ».
  • abcd$ : tout référent finissant par la chaine « abcd ».
  • (ab|cd) : tout référent comprenant la chaine « ab » ou « cd » (ou les deux).
  • ab[cde] : tout référent comprenant les chaines « abc » ou « abd » ou « abe ».
  • ab.*cd : tout référent comprenant une chaine composée de « ab » suivie de 0 à plusieurs caractères suivis de « cd ». Par exemple : « abcd » ou « abdsd9,lcd ».
  • [a-z0-9]+ : tout référent comprenant une chaine composée de un à plusieurs caractères alphanumériques.