Aller au contenu

Expression régulière

Expression régulière (en anglais regular expression, abrégé regex) : langage qui décrit une forme de texte, plus riche que les motifs glob : classes de caractères ([0-9], [[:alpha:]]), répétitions (*, +, ?, {4}), alternatives (a|b), groupes capturants entre parenthèses et ancres de début et de fin (^, $). ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ décrit par exemple une date au format AAAA-MM-JJ.

Il en existe plusieurs dialectes. POSIX définit les expressions basiques (BRE, celles de grep et sed par défaut, où + et {} s'écrivent \+ et \{\}) et étendues (ERE, celles de grep -E, awk et de l'opérateur =~ de Bash, qui s'appuie sur la bibliothèque C du système). Les raccourcis de Perl et de PCRE (\d, \w, quantificateurs paresseux) n'en font pas partie : [0-9] est la forme portable. En Bash, la partie droite de =~ se met dans une variable ou sans guillemets, faute de quoi elle est comparée comme un texte littéral ; les groupes capturés arrivent dans le tableau BASH_REMATCH.

Dans les cours

Voir aussi