Les expressions régulières, souvent abrégées en regex, sont un outil puissant pour la sélection de texte basée sur des motifs. Les comprendre est fondamental pour maîtriser la manipulation de texte sous Linux. Bien qu'il existe de nombreuses applications pour apprendre Linux, plonger dans des concepts fondamentaux comme « regular expression linux » est le moyen le plus rapide d'atteindre une maîtrise avancée de Linux. Elles utilisent des notations spéciales, dont certaines sont similaires aux jokers comme *.
Explorons quelques-uns des opérateurs regex les plus courants, qui sont presque universels dans les langages de programmation. Nous utiliserons le texte suivant comme exemple :
sally sells seashells
by the seashore
Ancrage au début d'une ligne
Le symbole accent circonflexe ^ correspond au début d'une ligne. Il garantit que votre motif n'apparaît qu'au début.
^by
Ce motif correspondrait à la ligne « by the seashore » mais pas à « sally sells seashells ».
Ancrage à la fin d'une ligne
Le symbole dollar $ correspond à la fin d'une ligne. C'est le pendant de l'ancre ^.
seashore$
Ce motif correspondrait à la ligne « by the seashore » car elle se termine par « seashore ».
Correspondance de n'importe quel caractère unique
Le point . est un joker qui correspond à n'importe quel caractère unique.
b.
Dans notre exemple, cela correspondrait à « by ».
Utilisation des crochets pour les ensembles de caractères
Les crochets [] vous permettent de spécifier un ensemble de caractères à faire correspondre. Cela offre plus de contrôle que le joker ..
s[ae]lls
Ceci correspondrait à « sells » et correspondrait également à « salls ».
Vous pouvez également utiliser des crochets pour spécifier ce qu'il ne faut pas faire correspondre. Lorsque l'accent circonflexe ^ est le premier caractère à l'intérieur des crochets, il nie l'ensemble, correspondant à tout caractère sauf ceux énumérés.
s[^e]lls
Ceci correspondrait à « salls » mais pas à « sells ».
Enfin, les crochets prennent en charge les plages pour définir efficacement un grand ensemble de caractères.
d[a-c]g
Ce motif correspondra à « dag », « dbg » et « dcg ». Sachez que les plages sont sensibles à la casse. Par exemple, [a-c] ne correspondra pas à A, B ou C.
Apprendre ces opérateurs est l'une des meilleures façons d'acquérir une efficacité en ligne de commande Linux.