🧩
← Retour aux guides

Regex pour débutants : comment écrire des expressions régulières

· Tags: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

Regex pour débutants

Les expressions régulières — regex — sont des motifs qui décrivent du texte. Avec les regex, vous pouvez rechercher des chaînes, valider des entrées, extraire des données et effectuer des recherches-remplacements complexes à l'aide d'une seule expression compacte. Une fois que vous maîtrisez les fondamentaux, les regex deviennent l'un des outils les plus puissants de votre boîte à outils de programmation.

Qu'est-ce qu'une expression régulière ?

Une regex est une séquence de caractères définissant un motif de recherche. Le motif \d{3}-\d{2}-\d{4} correspond à un numéro de sécurité sociale américain : trois chiffres, un trait d'union, deux chiffres, un trait d'union, quatre chiffres.

Les moteurs d'expressions régulières existent dans pratiquement tous les langages de programmation — JavaScript, Python, Java, Ruby, Go — tous avec une prise en charge intégrée.

Caractères littéraux

La plupart des caractères correspondent à eux-mêmes. Le motif cat correspond à la chaîne littérale « cat » partout où elle apparaît.

Pattern: cat
Matches: "cat" in "The cat sat on the mat."
Matches: "cat" in "catalog"

La correspondance littérale est simple mais limitée. La vraie puissance vient des métacaractères.

Métacaractères

Ces caractères ont une signification spéciale et doivent être échappés avec \ pour correspondre littéralement :

. ^ $ * + ? { } [ ] \ | ( )

Classes de caractères

Les classes de caractères correspondent à un caractère parmi un ensemble.

Notation entre crochets

| Motif | Correspondances | |---------|---------| | [aeiou] | Toute voyelle | | [0-9] | Tout chiffre | | [a-zA-Z] | Toute lettre | | [^0-9] | Tout caractère qui n'est PAS un chiffre |

Classes prédéfinies

| Abréviation | Description | |-----------|-------------| | \d | Tout chiffre (identique à [0-9]) | | \w | Lettre, chiffre ou trait de soulignement | | \s | Espace, tabulation, saut de ligne | | \D | Tout caractère non numérique | | \W | Tout caractère non alphanumérique | | \S | Tout caractère non blanc | | . | Tout caractère sauf le saut de ligne |

Quantificateurs

Les quantificateurs contrôlent combien de fois l'élément précédent doit apparaître.

| Quantificateur | Signification | Exemple | Correspondances | |------------|---------|---------|---------| | * | Zéro ou plus | a* | "", "a", "aa" | | + | Un ou plus | a+ | "a", "aa", "aaa" | | ? | Zéro ou un | colou?r | "color", "colour" | | {3} | Exactement N | \d{3} | "123" | | {2,4} | Entre N et M | \d{2,4} | "12", "123", "1234" |

Exemples

\d+     → "42" in "Answer is 42"
https?://  → "http://" and "https://"

Ancres

Les ancres correspondent à des positions, pas à des caractères.

| Ancre | Signification | |--------|---------| | ^ | Début de la chaîne | | $ | Fin de la chaîne | | \b | Frontière de mot | | \B | Frontière de non-mot |

^hello   → matches "hello" only at the start
end$     → matches "end" only at the end
\bword\b → matches "word" as a whole word, not inside "sword"

Groupes et alternance

Les groupes de capture ( ) extraient les portions correspondantes :

(\d{3})-(\d{4}) → "555-1234", captures "555" in group 1, "1234" in group 2

Les groupes non capturants (?: ) regroupent sans extraire :

(?:https?|ftp):// → "http://", "https://", "ftp://"

L'alternance | agit comme un OU :

cat|dog|bird → matches "cat", "dog", or "bird"

Exemples pratiques de regex

| Cas d'usage | Motif | |----------|---------| | Téléphone américain | \d{3}-\d{3}-\d{4} | | E-mail (simple) | \S+@\S+\.\S+ | | Adresse IP | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | Hashtag | #[a-zA-Z]\w* | | Heure (HH:MM) | [01]\d|2[0-3]:[0-5]\d |

Comment tester un motif regex

Testez toujours les motifs de manière interactive :

  1. Saisissez votre motif regex.
  2. Saisissez une chaîne de test.
  3. Observez quelles portions correspondent en temps réel.
  4. Ajustez et recommencez.

Utilisez l'outil de test d'expressions régulières pour expérimenter avec des motifs. Il met en évidence les correspondances, affiche les groupes de capture et vous aide à comprendre exactement ce que fait chaque partie de votre expression.

Regex pour débutants : comment écrire des expressions régulières - CoolTool