Testeur Regex

Testez vos expressions régulières en direct avec le moteur regex de Rust (WebAssembly) : surlignage, groupes nommés, drapeaux i/m/s, motifs enregistrés.

Vos saisies et fichiers restent dans le navigateur

Drapeaux

Saisissez ou collez le texte sur lequel tester le motif, ou chargez un exemple.

Correspondances

Saisissez un motif : les correspondances, avec leurs positions et groupes de capture, s’affichent ici.

Correspondances trouvées

Motifs enregistrés

Aucun motif enregistré pour le moment.

NomMotifActions

Exemples

NomMotifActions

Enregistrer le motif

Sur cette page

Écrivez une expression régulière et voyez chaque correspondance surlignée dans votre texte de test pendant la saisie, avec les positions et les groupes de capture listés dessous. Les motifs s’exécutent sur la crate regex de Rust compilée en WebAssembly : la syntaxe et le comportement sont ceux de Rust, pas de JavaScript.

Fonctionnalité détaillée

La syntaxe prise en charge comprend les classes de caractères et les classes Unicode comme \p{Cyrillic}, les quantificateurs gourmands et paresseux, l’alternative, les ancres, les limites de mot \b, les groupes numérotés, les groupes nommés (?<name>…) ou (?P<name>…), les groupes non capturants et les drapeaux en ligne comme (?i). Le lookahead, le lookbehind et les références arrière comme \1 ne sont pas pris en charge par ce moteur — l’outil affiche alors l’erreur du moteur. En contrepartie, le temps de recherche croît linéairement avec l’entrée : des motifs comme (a+)+$ ne peuvent pas bloquer la page.

Drapeaux : i ignore la casse, m fait correspondre ^ et $ à chaque ligne, s permet à . de correspondre à un saut de ligne ; sans Global, seule la première correspondance est affichée. Le mode Unicode est toujours actif dans le moteur Rust : \w, \d et . correspondent aux lettres, chiffres et caractères non ASCII. Les positions sont des indices de chaîne JavaScript (UTF-16, un emoji en occupe 2). La liste montre les 50 premières correspondances et le comptage s’arrête à 10 000.

Tout s’exécute localement. Un motif n’est conservé — avec son nom, ses drapeaux et son texte d’exemple, dans le localStorage de ce navigateur — que si vous cliquez sur Enregistrer le motif. Cinq exemples intégrés (e-mail, adresse IPv4, date, couleur hexadécimale, URL) se chargent en un clic.

Exemples pratiques

Groupes nommés : (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) sur Released 2026-10-06, patched 2026-11-02 donne 2 correspondances ; la première est 2026-10-06 en [9-19] avec year 2026, month 10, day 06.

Alternative insensible à la casse : error|warn avec le drapeau i sur les lignes ERROR: disk full et Warn: low memory trouve ERROR et Warn.

Ancres de ligne : ^\w+ sur les lignes alpha one et beta two ne trouve que alpha ; avec le drapeau m, il trouve alpha et beta.

Lookahead non pris en charge : foo(?=bar) est refusé avec « look-around, including look-ahead and look-behind, is not supported » — utilisez plutôt foo(bar) et exploitez le groupe.

Comment utiliser cet outil

  1. Saisissez un motif

    Tapez l’expression dans Modèle, sans barres obliques autour. Aide-mémoire liste les éléments les plus courants.

  2. Réglez les drapeaux

    Dans Drapeaux, cochez Insensible à la casse, Multiligne ou Point tout compris selon le besoin ; décochez Global pour ne voir que la première correspondance.

  3. Ajoutez un texte de test

    Collez le texte dans Chaîne de test — les correspondances sont surlignées pendant la saisie.

  4. Examinez les correspondances

    La liste Correspondances affiche chacune avec sa position [start-end] et ses groupes de capture.

  5. Enregistrez ou réutilisez

    Cliquez sur Enregistrer le motif pour garder l’expression, puis Charger depuis Motifs enregistrés, ou partez d’un des Exemples.

Conseils et bonnes pratiques

  • Les motifs JavaScript ou PCRE avec lookaround ou \1 doivent être réécrits : capturez le texte voisin dans un groupe ou vérifiez la condition dans le code.
  • / n’a pas besoin d’échappement, mais un point littéral si : écrivez \. pour « . ».
  • Les drapeaux en ligne fonctionnent aussi dans le motif : (?i)error équivaut à error avec le drapeau i.
  • Les motifs enregistrés restent dans ce navigateur uniquement ; effacer les données du site les supprime.
  • Entourez les mots de \b (\bcolou?r\b) pour que colours ne soit pas reconnu comme colour.