Les expressions régulières

Samuel Chevalley
9 mai 2016

Une expression régulière est une séquence de symboles qui répond à une syntaxe précise permettant d’identifier des chaînes de caractères existantes. Dans une expression régulière, on peut trouver tous les caractères sauf le caractère de saut de ligne (\n).

Les expressions régulières sont utilisées dans beaucoup de commandes UNIX (« sed », « awk », « grep », « vi » …).

Définition des caractères spéciaux

b un caractère précis (ici le caractère « b »).
. un caractère quelconque.
^ début de ligne.
$ fin de ligne.
\ inhibition de l’interprétation d’un caractère spécial.
[liste] un caractère quelconque dans la liste.
[^liste] un caractère quelconque absent de la liste.

 

Recherche de caractères selon un nombre d’occurrences

* recherche du caractère pointé de 0 à n fois.
+ recherche du caractère pointé de 1 à n fois.
? recherche du caractère pointé 0 ou 1 fois (à protéger avec un « \ » dans un grep).
expr1|expr2 désigne une chaîne correspondant à l’une ou l’autre des deux expressions régulières.

 

Exemples

e$ désigne le caractère « e » en fin de ligne.
^abc désigne la chaîne « abc » en début de ligne.
[Aa] désigne une chaîne contenant le caractère « A » ou « a ».
o[Aa][Bb] désigne une chaîne contenant le caractère « o » suivi de « A » ou « a » puis de « B » ou « b ».
[^Aa] désigne une chaîne ne contenant ni caractère « A » ni le caractère « a ».
[a-e] désigne tous les caractères compris entre « a » et « e » (« a »,« b »,« c », « d », « e »).
ab* désigne une chaîne contenant un « a » suivi de 0 ou plusieurs « b ».
ab+ désigne une chaîne contenant un « a » suivi d’au moins un « b ».
ab?c désigne une chaîne contenant un « a » suivi d’un « b » ou pas puis d’un « c ».
abc|ghi désigne une chaîne contenant la séquence « abc » ou la séquence « ghi ».