Regex
Expressions Régulières (Regex)
Les expressions régulières (Regex) sont des séquences de caractères qui forment un modèle de recherche. Elles sont extrêmement puissantes pour la manipulation de texte, la recherche de motifs et le nettoyage de données.
Tip
Testez vos Regex en direct ! - Regex101 : Le meilleur outil pour tester, débugger et comprendre vos regex (supporte PCRE, Python, Go, etc.). - RegExr : Une alternative visuelle très pédagogique.
Syntaxe de base
| Symbole | Description | Exemple |
|---|---|---|
. |
N'importe quel caractère (sauf nouvelle ligne) | a.c correspond à "abc", "a@c" |
^ |
Début de ligne | ^Bonjour |
$ |
Fin de ligne | fin$ |
* |
0 ou plusieurs occurrences du précédent | ab*c |
+ |
1 ou plusieurs occurrences du précédent | ab+c |
? |
0 ou 1 occurrence du précédent | colou?r |
[] |
Classe de caractères (l'un des caractères) | [aeiou] (voyelles) |
[^] |
Négation de classe | [^0-9] (non-chiffre) |
| |
OU logique | chat|chien |
() |
Groupe de capture | (ab)+ |
{n,m} |
Quantificateur (entre n et m fois) | a{2,4} |
Utilisation avec les outils CLI
Grep (Global Regular Expression Print)
grep est utilisé pour rechercher des lignes correspondant à un motif.
-
Recherche simple :
-
Expressions régulières étendues (
-E) : Nécessaire pour utiliser|,+,?, etc. sans échappement. -
Compter les occurrences (
-c) :
Sed (Stream Editor)
sed est principalement utilisé pour la transformation de texte (substitution).
-
Substitution simple (
s/motif/remplacement/) : -
Substitution globale (
g) : -
Utilisation de groupes de capture (
\1,\2) : -
Supprimer des lignes vides :
Awk
awk est un langage de programmation complet orienté traitement de texte, qui utilise les regex pour filtrer les enregistrements.
-
Filtrer les lignes par motif :
-
Filtrer sur un champ spécifique :
-
Négation (
!~) :