Texte 🔒 Fonctionne dans votre navigateur — aucune donnée envoyée

Testeur d'Expressions Régulières

Testez vos expressions régulières en direct : correspondances, groupes de capture et remplacement, avec 15 motifs prêts à l’emploi.

/ /
Texte de test
Correspondances et groupes
Les correspondances s'affichent ici...

Testeur de regex - tester une expression régulière en ligne en direct

Écrire une expression régulière relève de la devinette tant qu'on ne voit pas ce qu'elle capture. Ce testeur de regex gratuit exécute votre motif sur votre propre texte d'exemple au fil de la frappe et surligne chaque correspondance : vous trouvez l'erreur en quelques secondes au lieu de livrer une règle de validation cassée.

Saisissez le motif dans un champ, les drapeaux dans le suivant, puis collez en dessous le texte à tester. Les correspondances se mettent à jour immédiatement, et un motif invalide est signalé tout de suite au lieu d'échouer en silence.

Schéma : le motif (\d{4})-(\d{2})-(\d{2}) trouve 2026-09-17, avec les groupes $1, $2 et $3 ; le remplacement $3/$2/$1 donne 17/09/2026.Motif(\d{4})-(\d{2})-(\d{2})TexteCorrespondancev1.8·2026-09-17$1$2$3$1 = 2026$2 = 09$3 = 17Remplacer par$3/$2/$1v1.8 17/09/2026
Chaque paire de parenthèses capture une partie de la correspondance dans un groupe numéroté. Le remplacement peut réutiliser les groupes dans n'importe quel ordre : $3/$2/$1 transforme une date ISO en jour/mois/année.

À quoi sert vraiment un testeur de regex

La plupart des bugs de regex n'ont rien d'exotique : le motif capture trop, capture trop peu, ou fonctionne sur l'unique exemple que vous aviez en tête et échoue sur le deuxième. Un testeur rend ce comportement invisible observable : collez cinq entrées réalistes, y compris les plus pénibles, et regardez lesquelles s'allument. C'est aussi la façon la plus rapide d'apprendre la syntaxe, puisque vous changez un caractère et voyez aussitôt l'effet.

Comment utiliser ce testeur

  1. Saisissez le motif sans les barres obliques qui l'encadrent, par exemple [a-z]+\d{2,4}.
  2. Ajoutez les drapeaux nécessaires dans leur champ, par exemple gi pour une recherche globale insensible à la casse.
  3. Collez un texte d'exemple réaliste dans Texte de test, y compris les cas limites censés échouer.
  4. Lisez les correspondances surlignées dans le texte et listées sous Correspondances et groupes, ajustez le motif et recommencez jusqu'à ne sélectionner que le texte voulu.
  5. Vérifiez les groupes de capture affichés avec chaque correspondance, et saisissez un remplacement avec $1 ou $<nom> dans Remplacer par ; le texte réécrit s'affiche sous Résultat du remplacement.

Vous ne savez pas par où commencer ? Le menu Bibliothèque de motifs charge l'un des 15 motifs courants avec ses drapeaux, des adresses e-mail, URL, adresses IPv4, UUID et couleurs hexadécimales jusqu'aux liens Markdown, aux mots répétés et aux espaces superflus en début ou en fin de ligne. Si la zone de test est vide, ou contient encore un exemple précédent, un texte d'exemple arrive avec le motif ; si vous avez collé votre propre texte, il reste en place et le motif s'applique à vos vraies données. Voyez-les comme des points de départ, pas comme des validateurs : le motif d'e-mail, par exemple, est volontairement pragmatique et n'accepte pas toutes les adresses que la norme autorise. Le guide des regex pour e-mail et le guide des nombres, téléphones et adresses IP montrent où ces motifs s'arrêtent.

Groupes de capture et rechercher-remplacer

Mettez une partie du motif entre parenthèses pour la capturer : ce testeur affiche chaque groupe à côté de sa correspondance - numéroté Groupe 1, Groupe 2, etc., ainsi que tout groupe nommé écrit (?<nom>...). C'est ainsi que l'on extrait l'année, un indicatif ou une extension de fichier d'une correspondance au lieu de seulement confirmer qu'elle correspond. Saisissez quelque chose dans le champ Remplacer par pour réécrire les correspondances aussitôt : $1 insère le premier groupe, $<nom> un groupe nommé, $& toute la correspondance, et $$ un signe dollar littéral.

Les drapeaux et leur effet

DrapeauEffetQuand l'utiliser
gTrouve toutes les correspondances, pas seulement la premièreRemplacer ou compter toutes les occurrences
iIgnore la casseSaisie utilisateur, adresses e-mail, étiquettes
m^ et $ valent sur chaque ligneTravailler ligne par ligne dans un journal ou une liste
s. capture aussi le retour à la ligneSaisir un bloc réparti sur plusieurs lignes
uMode Unicode completEmojis, accents et écritures non latines
yCollant : ne capture qu'à la position couranteÉcrire un analyseur lexical

Les symboles les plus utilisés

SymboleSignification
\d \w \sUn chiffre, un caractère de mot, une espace
.N'importe quel caractère sauf le saut de ligne, sans le drapeau s
^ $Début et fin de la chaîne, ou de chaque ligne avec m
* + ?Zéro ou plus, un ou plus, zéro ou un
{2,5}Entre deux et cinq répétitions
[abc] [^abc]L'un de ces caractères, ou tout sauf ceux-ci
(...) (?:...)Groupe capturant, groupe non capturant
\bFrontière de mot - la solution pour ne capturer que des mots entiers

Ce que l'on écrit avec des regex

  • Valider adresses e-mail, numéros de téléphone, codes postaux et numéros d'identité dans les formulaires.
  • Extraire adresses IP, codes de statut, horodatages ou identifiants d'utilisateur depuis des journaux.
  • Chercher-remplacer dans tout un projet et réaliser des refactorisations que l'éditeur ne peut pas faire littéralement.
  • Règles de routage et de redirection dans un framework, un serveur web ou un CDN.
  • Nettoyer des données importées ou extraites avant leur arrivée en base.
  • Appliquer des règles de composition de mot de passe côté client.

Les erreurs qui coûtent le plus de temps

  • Quantificateurs gourmands. .* file jusqu'au bout de la ligne. Utilisez .*? ou une classe négative comme [^"]* pour s'arrêter plus tôt.
  • Métacaractères non échappés. Un point, un plus, un point d'interrogation ou une barre littérale exige un antislash devant.
  • Oublier le drapeau g puis s'étonner que seule la première occurrence ait changé.
  • Retour arrière catastrophique. Des quantificateurs imbriqués comme (a+)+ peuvent bloquer sur une longue entrée sans correspondance.
  • Motifs d'e-mail trop stricts. Les vraies adresses contiennent des plus, des points et des caractères internationaux : restez souple et confirmez par e-mail.
  • Vouloir analyser du HTML. Pour des structures imbriquées, utilisez un parseur : une regex ne sait pas compter les balises.

Note sur les dialectes de regex

Ce testeur utilise le moteur JavaScript de votre navigateur, ce qui est la bonne cible si le motif doit tourner dans une page web, dans Node.js ou dans un schéma JSON. PCRE, Python, Go et PostgreSQL diffèrent sur des détails comme la prise en charge du lookbehind, la syntaxe des groupes nommés et les propriétés Unicode. Testez le motif dans l'environnement où il s'exécutera réellement avant de vous y fier.

Rien de ce que vous collez n'est envoyé

Le motif et votre texte de test restent dans le navigateur. C'est important, car les données de test sont souvent de vraies données - extraits de journaux, fiches clients, e-mails d'exemple - et rien de tout cela ne devrait finir sur le serveur d'un tiers.

Le même motif en Python, Java, C#, PHP et Go

Quand un motif fonctionne ici, il passe presque toujours dans un autre langage en ne changeant que l'enveloppe. Ce qui pose vraiment problème, c'est l'échappement des barres obliques inverses dans les littéraux de chaîne et les fonctionnalités que chaque moteur propose.

LangageTester une correspondanceAttention à
Pythonre.search(r'\d{4}', text)Utilisez des chaînes brutes ; les groupes nommés s'écrivent (?P<nom>...)
JavaPattern.compile("\\d{4}").matcher(text).find()Doublez les barres obliques inverses ; matches() exige que toute la chaîne corresponde
C# / .NETRegex.IsMatch(text, @"\d{4}")Les chaînes verbatim avec @ évitent le double échappement
PHPpreg_match('/\d{4}/', $text)PCRE : les délimiteurs sont obligatoires, ajoutez u pour l'UTF-8
Goregexp.MustCompile(`\d{4}`).MatchString(text)Moteur RE2 : ni lookbehind ni références arrière

Outils complémentaires

Les motifs travaillent presque toujours sur du texte venu d'ailleurs. Mettez en forme une charge utile avec le formateur JSON, décodez une valeur échappée avec le décodeur d'URL, lisez un jeton avec le décodeur JWT et convertissez les valeurs epoch trouvées avec le convertisseur de timestamp.

Guides associés