Introduction aux expressions régulières (Regex)
Comprenez la syntaxe et les concepts fondamentaux des expressions régulières pour rechercher efficacement des motifs dans le texte.
Introduction aux expressions régulières (Regex) est une leçon Linux Command Line & Bash Scripting Mastery gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Command Line & Bash Scripting Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.
Que sont les expressions régulières ?
Les expressions régulières, souvent abrégées en Regex, sont des motifs puissants utilisés pour rechercher et manipuler du texte.
Considérez-les comme des termes de recherche améliorés capables de correspondre à des séquences, des caractères précis ou même des positions dans un texte.
Elles sont largement utilisées en programmation, dans les scripts et dans des outils en ligne de commande Linux tels que grep, sed et awk.
Recherche de caractères littéraux
L'expression régulière la plus simple recherche des caractères littéraux exacts. Si vous recherchez « apple », elle trouvera exactement « apple ».
Utilisons la commande grep (Global Regular Expression Print) pour illustrer cette recherche élémentaire.
echo "apple" > fruits.txt
echo "banana" >> fruits.txt
echo "pineapple" >> fruits.txt
grep "apple" fruits.txt
rm fruits.txtLe point : n’importe quel caractère unique
Le point (.) est un caractère spécial qui correspond à n’importe quel caractère unique, à l’exception d’un saut de ligne.
Il fonctionne comme un caractère générique pour une position. Par exemple, c.t correspond à "cat", "cot" ou "cut".
echo "cat" > words.txt
echo "cot" >> words.txt
echo "cut" >> words.txt
echo "coat" >> words.txt
grep "c.t" words.txt
rm words.txtAstérisque : zéro ou plusieurs (*)
L’astérisque (*) est un quantificateur qui correspond à zéro ou plusieurs occurrences du caractère ou du groupe qui le précède immédiatement.
Par exemple, colou*r correspond à "color" (zéro « u ») et à "colour" (un « u »).
echo "color" > spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
echo "cold" >> spellings.txt
grep "colou*r" spellings.txt
rm spellings.txtSigne plus : un ou plusieurs (+)
Le signe plus (+) correspond à une ou plusieurs occurrences du caractère ou du groupe qui le précède.
Contrairement à *, l’élément doit apparaître au moins une fois. Ainsi, go+gle correspond à "google" et à "gooogle", mais pas à "ggle".
Remarque : pour que +, ? et {} fonctionnent directement avec grep, vous devez souvent utiliser l’option -E pour les expressions régulières étendues.
echo "google" > search.txt
echo "goooogle" >> search.txt
echo "ggle" >> search.txt
grep -E "go+gle" search.txt
rm search.txtPoint d’interrogation : zéro ou un (?)
Le point d’interrogation (?) correspond à zéro ou une occurrence du caractère ou du groupe qui le précède.
Il rend un caractère facultatif. Par exemple, colou?r correspond à "color" (zéro « u ») et à "colour" (un « u »).
echo "color" >> spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
grep -E "colou?r" spellings.txt
rm spellings.txtAncres : début (^) et fin ($)
Les ancres ne correspondent pas à des caractères ; elles correspondent à des positions précises dans le texte.
^correspond au début d’une ligne.$correspond à la fin d’une ligne.
Exemple : ^apple correspond à "apple" uniquement si le mot se trouve au début d’une ligne. apple$ correspond à "apple" uniquement s’il se trouve à la fin.
echo "apple pie" > menu.txt
echo "fresh apple" >> menu.txt
echo "apple" >> menu.txt
grep -E "^apple" menu.txt
grep -E "apple$" menu.txt
rm menu.txtClasses de caractères : crochets ([])
Les crochets ([]) définissent une classe de caractères, qui correspond à n’importe quel caractère unique de l’ensemble.
[aeiou]correspond à n’importe quelle voyelle unique.[0-9]correspond à n’importe quel chiffre unique.[a-zA-Z]correspond à n’importe quelle lettre unique.
Vous pouvez également nier une classe avec [^...] ; par exemple, [^aeiou] correspond à tout caractère qui n’est PAS une voyelle.
echo "cat" > animals.txt
echo "bat" >> animals.txt
echo "rat" >> animals.txt
echo "cot" >> animals.txt
grep -E "[cb]at" animals.txt
grep -E "[^cbr]at" animals.txt
rm animals.txtQuantificateurs : accolades ({})
Les accolades ({}) sont des quantificateurs qui indiquent le nombre exact de répétitions du caractère ou du groupe qui les précède.
a{3}correspond à "aaa"a{2,}correspond à "aa", "aaa", "aaaa", etc. (au moins 2)a{2,4}correspond à "aa", "aaa", "aaaa" (entre 2 et 4)
N’oubliez pas d’utiliser grep -E pour ces quantificateurs.
echo "helllo" > greetings.txt
echo "hello" >> greetings.txt
echo "helo" >> greetings.txt
grep -E "hel{2,3}o" greetings.txt
rm greetings.txtVérification rapide des expressions régulières
Considérez ces chaînes :
bananabanaanabanaananabna
Quelle expression régulière correspondrait uniquement à "banana" et à "banaana" ?
Récapitulatif des bases des expressions régulières
Vous avez appris les notions fondamentales des expressions régulières !
- Les expressions régulières utilisent des motifs pour rechercher et manipuler du texte.
- Les caractères littéraux correspondent à eux-mêmes.
- Les caractères spéciaux tels que
.,*,+,?,^,$,[]et{}offrent de puissantes possibilités de recherche.
Ensuite, vous appliquerez ces motifs à la recherche avancée dans du texte avec la commande grep et ses différentes options.
Questions Fréquemment Posées
La leçon « Introduction aux expressions régulières (Regex) » est-elle gratuite ?
Oui — le texte complet de « Introduction aux expressions régulières (Regex) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Command Line & Bash Scripting Mastery, passe à CoddyKit PRO. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Introduction aux expressions régulières (Regex) » ?
Comprenez la syntaxe et les concepts fondamentaux des expressions régulières pour rechercher efficacement des motifs dans le texte. Tu pratiques Linux Command Line & Bash Scripting Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Linux Command Line & Bash Scripting Mastery ?
Aucune expérience préalable n'est requise. Linux Command Line & Bash Scripting Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Introduction aux expressions régulières (Regex) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Linux Command Line & Bash Scripting Mastery ?
Oui. Chaque leçon Linux Command Line & Bash Scripting Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Introduction aux expressions régulières (Regex)
- Grep avancé avec les expressions régulières
- Combiner les expressions régulières avec sed/awk
- Groupes de capture, références arrière et substitution