Fiche d'Aide sur les Expressions Régulières

Si vous travaillez avec du texte, vous apprécierez combien les expressions régulières sont utiles. Ce sont de petits caractères de texte qui vous permettent de créer des règles élaborées sur l’apparence d’un mot. Ces règles peuvent être aussi simples que de faire correspondre une seule lettre dans un document ou quelque chose de complexe comme chercher chaque mot qui commence par “a” et “c” mais se termine par “isme”.
Téléchargez cette Fiche
Entrez votre e-mail ci-dessous pour recevoir cette fiche PDF dans votre boîte de réception.
Expressions Régulières Essentielles
Les expressions régulières (ou regex en abrégé) sont présentes partout dans les environnements Linux pour rechercher du texte jusqu’au caractère. Cette fiche d’aide sur les expressions régulières sera utile à ceux qui ont simplement besoin d’un petit rappel de temps en temps.
Une chose importante à noter, cependant, est que l’ensemble des expressions régulières utilisables dépend en grande partie du type de standard qu’un logiciel utilise. Par exemple, les terminaux Linux courants utilisent souvent le standard POSIX tandis que Vim et Perl utilisent des définitions non standard.
| Métacaractère | Description | Exemple |
|---|---|---|
| Correspondance de Caractères | ||
| A | Recherchez toute instance de la lettre “a” dans un document et faites-y correspondre. | a correspond à “ant”, “chat” et “anna”. |
| . | Correspond à n’importe quel caractère unique, sauf aux caractères de contrôle. | c.t correspond à “chat”, “couper” ou “cot”. |
| * | Répétez l’expression précédente 0 ou plusieurs fois (mode avide). | 12*3 correspond à “13”, “123”, “1223”, “12223”. Il peut être utilisé avec “.” comme m.*easier correspond à “maketecheasier”. L’utilisation de .* seul n’a pas de sens car cela correspond à tout et renvoie le résultat complet. |
| + | Répétez l’expression précédente 1 ou plusieurs fois. | 12+3 correspond à “123”, “1223”, “12223”. |
| ? | Rendre l’élément précédent optionnel. | ma?ke correspond à “make”, “mke”. |
| ^ | Correspond au début de la chaîne. | ^he correspond à “hello”, “hell”, “help”, “he is a boy”. |
| $ | Correspond à la fin de la chaîne. | ed$ correspond à “agis”, “lit”, “avidité”. |
| Correspondance de Plage | ||
| ( … ) | Groupement de caractères ou d’expressions. | (ak) correspond à “fais”, “prend”. |
| { n } | Correspond à l’élément précédent exactement n fois. | 12{3}5 correspond à “12225”. |
| [ … ] | Correspond à un seul caractère dans la parenthèse. | [abc] correspond à “a”, “b” ou “c” dans la chaîne “abc”. |
| [^ … ] | Correspond à tout caractère sauf à ceux qui sont définis dans la parenthèse. | a[^b]c correspond à “aec”, “acc”, “adc”, mais pas “abc”. |
| Correspondance de Classe (POSIX) | ||
| [:alpha:] | Recherchez tout caractère dans l’alphabet anglais et faites-y correspondre. | [[:alpha:]]ut fera correspondre les mots “mais”, “couper” et “rut”. |
| [:alnum:] | Recherchez tout caractère et chiffre et faites-y correspondre. | [[:alnum]]tack fera correspondre “stack” et “5tack”. |
| [:blank:] | Recherchez une instance soit d’une tabulation soit d’un espace et faites-y correspondre. | [[:blank:]]Bonjour fera correspondre ” Bonjour”. |
| [:space:] | Recherchez tout caractère d’espacement et faites-y correspondre. | [[:space:]]Monde fera correspondre ” Monde”. |
| [:upper:] | Recherchez n’importe quelle lettre majuscule et faites-y correspondre. | [[:upper:]]+ fera correspondre les mots “BONJOUR”, “FAntastique” et “mONde”. |
| [:lower:] | Recherchez n’importe quelle lettre minuscule et faites-y correspondre. | [[:lower:]]+ fera correspondre les mots “ilLLO”, “FAntastique” et “monde”. |
| [:punct:] | Recherchez tout caractère de ponctuation et faites-y correspondre. | \w+[[:punct:]] fera correspondre les mots suivants : “Salut!”, “Bonjour.” et “Vous?”. |
| [:cntrl:] | Recherchez tout caractère de contrôle et faites-y correspondre. | \w+[[:cntrl:]]$ fera correspondre les mots suivants : “fin^M”, “mot^M” et “ceci^M”. |
| [.ng.] | Recherchez tout digraphe de “ng” et faites-y correspondre. | bad[.zh.] fera correspondre le mot “badge”. |
| [=n=] | Trouvez et faites correspondre toutes les lettres diacritiques de “n”. | [=a=]\w+ fera correspondre les mots “ànna”, “ápple” et “âble”. |
| Correspondance de Classe (Perl/Vim) | ||
| \B | Recherchez tout caractère qui n’est pas une frontière de mot et faites-y correspondre. | \B+\b fera correspondre “o ” dans “hello ” ainsi que ” h” dans ” hi”. |
| \w | Recherchez n’importe quelle lettre et chiffre, puis faites-y correspondre. | \w{5} fera correspondre les combinaisons de lettres et de chiffres suivantes : “monde”, “12345” et “w0r1d”. |
| \W | Recherchez tout symbole et faites-y correspondre. | \w{2}\W\b fera correspondre les mots suivants : “comme.”, “ha!” et “je?”. |
| \d | Recherchez n’importe quel chiffre et faites-y correspondre. | \d{3} fera correspondre les chiffres suivants : “111”, “777” et “888”. |
| \D | Recherchez tout caractère qui n’est pas un chiffre et faites-y correspondre. | \D{3} fera correspondre les lettres et les symboles suivants : “ant”, “ba!” et “!#*”. |
| \s | Recherchez tout caractère d’espace et faites-y correspondre. | a\w+(i|y)sm\s fera correspondre les mots suivants : “altruisme “, “albinos ” et “anévrisme “. | | \S | Recherchez tout caractère non-espace et faites-y correspondre. | \S{5} fera correspondre les suivants : “123hi”, “hi!^&” et “ | | \A | Trouvez le début d’un mot indépendamment du fait qu’il ne soit pas au début d’une ligne. | \A{2} fera correspondre “Il” et “wo” dans “Bonjour le monde”. | | \Z | Trouvez la fin d’un mot indépendamment du fait qu’il ne soit pas à la fin d’une ligne. | \z{2} fera correspondre “lo” et “ld” dans “Bonjour le monde”. | | Caractères de Contrôle | | | | | | Correspond à l’expression à gauche ou à droite du pipe. | col(o|ou)r correspond à “couleur”, “couleur”. | | – | Spécifiez une plage de caractères à correspondre. Utilisé principalement dans [a-z], [A-Z],[1-9],[a-zA-Z1-9]. | a[a-z]c correspond à “abc”, “acc”, “adc”. | | \ | Échappez un caractère spécial et transformez-le en un caractère ordinaire. | a\*c correspond à “ac”. | | \n, \r, \t | Correspond respectivement à un saut de ligne, un retour et un caractère de tabulation. | \w{5}\t\w{5}(\n|\r) fera correspondre “Bonjour le Monde”. | | \b…\b | Correspond à un mot dans la frontière. | \bTech\b correspond au mot “Tech” dans “Rendre Tech Plus Facile”. | | *Expressions Complexes | | | | [0-9]{3}-[0-9]{4} | Recherchez toute séquence de trois et quatre chiffres et faites-y correspondre. | Cette expression fera correspondre les combinaisons suivantes de chiffres : “123-1234”, “111-1111” et “777-1234”. | | ([0-9]{3}-)?[0-9]{3}-[0-9]{4} | Correspond à deux chiffres de trois chiffres et à un seul nombre à quatre chiffres. | Cette expression fera correspondre les combinaisons suivantes : “123-123-1234”, “000-111-0001” et “777-5678”. | | .{1,3} | Recherchez tout mot dont la longueur est comprise entre un et trois caractères. | Cette expression fera correspondre les mots suivants : “à”, “il” et “peut”. | | ([A-Z])\w+ | Correspond à tout mot qui commence par une lettre majuscule. | Cette expression fera correspondre les mots suivants : “Bonjour”, “Monde” et “Salut”. | | e[([:digit:]|[:alnum:])]c | Correspond à tout caractère alphanumérique entre “e” et “c”. | Cette expression fera correspondre les combinaisons suivantes : “e1c”, “e5c” et “e7c”. | | [^0-9[:upper:]]+ | Recherchez tout mot entièrement en majuscules qui ne commence pas par un chiffre. | Cette expression fera correspondre les mots suivants : “BONJOUR”, “MONDE” et “Salut”. | | “.+” | Trouvez un mot entre guillemets et faites-y correspondre. | Cette expression fera correspondre la citation suivante : “Bonjour, le monde!”. |
Crédit photo : Unsplash