Menu
Français

Testeur de Regex

Testez des expressions régulières avec mise en évidence animée.

Dernière mise à jour

Drapeaux
Texte de testCollez du texte pour commencer
CorrespondancesAucune correspondance
Les correspondances apparaissent ici — indices, groupes capturés et comptes, en direct.

C'est quoi un testeur de regex ?

Un testeur de regex te permet de saisir une expression régulière et de voir aussitôt ce qu'elle capture dans un texte d'exemple. Les développeurs s'en servent pour valider une saisie, extraire des données d'une chaîne, fouiller des logs, nettoyer du texte, écrire des commandes d'éditeur ou des règles de rechercher-remplacer.

Au début, les regex paraissent obscures parce que quelques symboles concentrent énormément de sens. Un testeur en direct lève le voile : chaque caractère que tu tapes met à jour les correspondances surlignées et les groupes de capture, ce qui te permet d'expérimenter jusqu'à ce que le motif fasse exactement ce que tu veux.

Chaque langage a son propre moteur de regex, avec ses petites différences (JavaScript, PCRE, Python, Java, Go, .NET). Les fondamentaux — caractères, classes de caractères, quantificateurs, ancres et groupes — fonctionnent partout. C'est sur les fonctionnalités avancées (lookbehind, groupes nommés, quantificateurs possessifs) que les moteurs divergent.

Ce que tu vas apprendre en testant des regex

  • Un motif décrit la *forme* d'un texte, pas son sens. \d+ capture une suite de chiffres, mais ne sait pas si le nombre a du sens.
  • Les flags changent le comportement : g trouve toutes les correspondances, i ignore la casse, m fait coller ^ et $ aux fins de ligne, s autorise . à matcher les retours à la ligne.
  • Les groupes de capture (...) extraient des morceaux d'une correspondance, au lieu de simplement vérifier que la chaîne entière colle — indispensable pour parser.

Utiliser le testeur de regex étape par étape

  1. Saisis ton motif

    Entre une expression régulière dans le champ « pattern ». Pas besoin des / autour : c'est la syntaxe littérale de JavaScript, pas une partie du motif.

  2. Active les flags dont tu as besoin

    Le plus souvent, tu voudras g (toutes les correspondances) et i (insensible à la casse). Utilise m pour des ancres ligne par ligne, et s pour que . accepte les retours à la ligne.

  3. Colle ton texte de test

    Dépose un texte d'exemple dans la zone de test. Les correspondances se surlignent au fil de la frappe, et les groupes de capture apparaissent sous la liste des matchs.

  4. Lis le panneau des correspondances

    Chaque correspondance affiche sa position, son texte complet et les groupes capturés. Sers-t'en pour vérifier que le motif attrape ce qu'il faut et laisse de côté ce qu'il ne faut pas.

  5. Affine jusqu'à ce que ça colle

    Resserre les quantificateurs, ajoute des ancres (^, $) ou échappe les caractères littéraux (\., \?) jusqu'à ce que les correspondances et les groupes correspondent exactement à ce dont ton code a besoin.

Antisèche regex

Les 80 % de regex que tu utiliseras 99 % du temps. À mettre en favoris — c'est le moyen le plus rapide de retenir la syntaxe. Pour la grammaire complète, voir le guide des expressions régulières de MDN.

TokenSignificationExemple
.N'importe quel caractère (sauf retour à la ligne)a.c matche abc, a-c
\d \DChiffre / non-chiffre\d+ matche 123
\w \WCaractère de mot (lettre/chiffre/_) / non-mot\w+ matche hello_1
\s \SEspace / non-espace\s+ matche les espaces et tabulations
[abc]L'un de a, b ou c[aeiou] matche une voyelle
[^abc]Aucun de a, b ou c[^0-9] matche les non-chiffres
* + ?0+, 1+, 0 ou 1 du précédenta+ matche a, aaa
{n} {n,m}Exactement n / entre n et m\d{3,5} 3 à 5 chiffres
^ $Début / fin de chaîne (ou de ligne avec m)^Error ligne qui commence par Error
(...)Groupe de capture(\d+) capture les chiffres
(?:...)Groupe non capturant(?:foo|bar) groupe sans capture
a|bAlternance — a ou byes|no
\bLimite de mot\bcat\b matche cat mais pas cats

Exemples de regex à tester

Capter la forme d'une adresse e-mail simple

Motif
^[\w.+-]+@[\w-]+\.[\w.-]+$
Texte

learner@coddy.tech

Ça attrape la forme basique quelquechose@quelquechose.quelquechose. La vraie validation d'e-mail est bien plus permissive que ça — pour un formulaire, mieux vaut un type="email" et une vérification côté serveur.

Extraire tous les nombres d'une phrase

Motif
\d+
Texte

Lesson 12 has 3 tasks and 2 quizzes.

Avec le flag g, on récupère chaque suite de chiffres : 12, 3, 2. \d+ est l'équivalent regex de « un ou plusieurs chiffres ».

Récupérer un id dans une URL avec un groupe de capture

Motif
/users/(\d+)
Texte

/users/42/profile

La correspondance complète est /users/42, et le groupe de capture (\d+) isole juste 42. Les groupes de capture, c'est exactement comme ça qu'on *exploite* une regex dans du code.

Quantificateurs gourmands vs paresseux

Gourmand
<.+>
Paresseux
<.+?>
Texte

<b>hello</b>

La version gourmande matche toute la chaîne <b>hello</b> parce que .+ rafle le maximum. La version paresseuse (+?) s'arrête au premier >, donc elle ne matche que <b> et </b>.

Erreurs fréquentes avec les regex

  • Oublier d'échapper les caractères spéciaux : ., ?, +, (, ), [, ], {, }, \, ^, $, |. Quand tu les veux au sens littéral, préfixe-les par \.
  • Écrire un motif qui marche sur un échantillon mais qui plante sur des données réelles avec des espaces en trop, des sauts de ligne ou des champs manquants.
  • Utiliser .* de manière gourmande et capturer bien plus que prévu — passe à .*? ou à une classe de caractères plus précise.

FAQ regex

C'est quoi une regex ?
Regex est l'abréviation d'*expression régulière* — un mini-langage compact pour décrire des motifs de texte. La même idée existe dans presque tous les langages de programmation, et dans beaucoup d'éditeurs et d'outils en ligne de commande.
Comment écrire une regex ?
Commence par les caractères littéraux que tu veux matcher, puis remplace les parties variables par des classes de caractères (\d, \w, [abc]) et des quantificateurs (*, +, ?, {n,m}). Sers-toi d'un testeur de regex pour itérer jusqu'à ce que le motif colle exactement aux cas que tu veux.
Que signifie \w dans une regex ?
\w correspond à un caractère de mot — une lettre, un chiffre ou un underscore. \W est l'inverse (tout caractère qui n'est pas un caractère de mot). L'ensemble exact dépend du moteur et de l'activation du flag Unicode.
Pourquoi ma regex matche-t-elle trop ?
Les quantificateurs sont gourmands par défaut — .* prend le maximum possible. Passe à un quantificateur paresseux (.*?) ou utilise une classe de caractères plus précise pour t'arrêter au bon endroit.
Est-ce que les regex JavaScript sont identiques à toutes les autres ?
Les bases sont les mêmes, mais les moteurs diffèrent. JavaScript, PCRE, le module re de Python, Java, Go et .NET supportent chacun des flags et des fonctionnalités avancées légèrement différents (support du lookbehind, groupes nommés, quantificateurs possessifs).
Les débutants devraient-ils apprendre les regex ?
Oui — progressivement. Commence par les littéraux, les classes de caractères, les quantificateurs, les ancres, les flags et les groupes de capture. Garde les lookarounds, les groupes nommés et les regex conditionnelles pour plus tard.

En savoir plus

Autres outils pour développeurs

Apprendre à coder avec Coddy

COMMENCER