Expressions rationnelles
Les shell patterns, vus plus haut, sont un moyen simple de décrire
des noms de fichiers directement au niveau du shell. Toutefois,
certaines commandes agissant sur des chaînes de caractères
(flux ou fichiers) peuvent nécessiter une méthode
plus avancée pour décrire et identifier des chaînes.
C’est pour cela que, dans les années 1950, les
expressions rationnelles ont été inventées
(regex ou regexp, pour regular expressions en anglais, parfois traduit en « expressions régulières »,
ou encore « expressions normales »,
terme promulgué par la norme ISO/IEC 9945). Sur
certains aspects, les expressions rationnelles ressemblent aux motifs shell, mais ils ne sont pas compatibles.
Les expressions rationnelles sont largement
présentes dans les environnements UNIX, de nombreuses commandes
les utilisant pour identifier des chaînes de caractères
afin d’y effectuer un traitement. Ces commandes sont présentées
tout au long de ce livre. Des livres entiers traitent uniquement
de ce concept : nous aborderons ici uniquement certains
aspects des regex, sans entrer dans le détail, l’objectif étant
de savoir écrire une expression rationnelle simple, pas
d’en devenir un expert.
Une expression rationnelle s’écrit
sous la forme d’une chaîne de caractères.
Au sein de cette chaîne, certains caractères ...