Testeur de regex
Testez des expressions régulières en direct — surlignage, groupes et remplacement
\d \w \schiffre, caractère de mot, espace^ $ \bdébut, fin, limite de mot* + ? {n,m}0+, 1+, optionnel, plage(…) (?:…) (?<name>…)capture, non-capturant, nommé[abc] [^abc] [a-z]l’un de, aucun de, plagea|b (?=…) (?!…)alternative, anticipationRetour arrière catastrophique, maîtrisé
Des quantificateurs imbriqués tels que (a+)+$ peuvent amener le moteur d’expression rationnelle à explorer un nombre exponentiel de chemins — c’est le piège classique du ReDoS :
- Ce testeur encapsule votre motif dans un worker doté d’un budget d’étapes ; une correspondance hors contrôle est interrompue et signalée, plutôt que de bloquer l’onglet.
- Si vous observez une interruption, cela signifie que le motif est dangereux en production également — aucun délai d’expiration côté serveur ne peut pallier une boucle quadratique dans le moteur.
- Les corrections efficaces sont généralement les suivantes : rendre les groupes internes non ambigus, ancrer le motif aux deux extrémités, remplacer les imbrications gourmandes par des classes de caractères.
Comment ce testeur exécute les motifs en toute sécurité
Surbrillance des correspondances en direct
Motif, texte de test et remplacement se mettent à jour pendant la frappe : les correspondances brillent en couleurs alternées, le compteur se rafraîchit, et l'aperçu de remplacement applique $1 et les groupes nommés comme $<name>.
Groupes avec positions
Chaque correspondance se déplie en groupes de capture numérotés et nommés, avec leurs valeurs et positions de caractère : on voit clairement quelle partie du motif a capturé quoi avant la mise en service.
Drapeaux, bibliothèque, référence
Les drapeaux g, i, m, s, u et y sont à un clic, six motifs prêts à l'emploi couvrent e-mails, URL, IPv4, dates, couleurs hex et téléphones, et une référence de syntaxe passe en revue ancres, quantificateurs, groupes et lookarounds.
Questions fréquentes
Quel dialecte de regex est utilisé ?
Le moteur JavaScript (ECMAScript) intégré à votre navigateur. La majeure partie de la syntaxe est commune avec PCRE, mais quelques différences existent — par ex. pas de quantificateurs possessifs, et le lookbehind nécessite un navigateur moderne. Les motifs testés ici se comportent exactement comme dans du code JS.
Mon texte est-il envoyé quelque part ?
Non. La recherche, le groupement et le remplacement s’exécutent tous localement avec la RegExp native de votre navigateur ; vos motifs et données de test ne quittent jamais la page. Cela fonctionne aussi hors ligne.
Une regex peut-elle figer la page ?
Un motif pathologique (retour sur trace catastrophique) peut être lent, mais uniquement dans votre onglet. Nous avançons au-delà des correspondances de largeur nulle et limitons les résultats à 10 000 pour garder l’interface réactive. Sur de longues entrées, préférez des motifs précis aux quantificateurs imbriqués comme (a+)+.
Pourquoi mon motif bloque-t-il sur certaines entrées mais pas sur d’autres ?
Le coût du backtracking dépend de la forme de l’entrée, pas seulement de sa longueur : <code>aaaa...b</code> confronté à <code>(a+)+b</code> explose, tandis que <code>aab</code> se termine instantanément. Les attaquants conçoivent précisément ces chaînes pathologiques ; testez donc avec de longues séquences de caractères identiques avant de déployer toute expression rationnelle exposée aux utilisateurs.
Outils associés
Qu'est-ce qu'un testeur d'expressions régulières ?
Les expressions régulières — des motifs pour chercher et remplacer du texte — comptent parmi les outils les plus puissants et les plus sujets aux erreurs de la programmation. Une barre oblique inversée déplacée change ce qui correspond, et un motif juste sur le papier surprend souvent face aux données réelles. Ce testeur montre en direct ce que fait réellement un motif : chaque correspondance est surlignée dans le texte de test, les groupes de capture numérotés et nommés sont décomposés avec leurs positions, et un aperçu de remplacement montre le résultat avec la syntaxe $1 ou $
Ce que cet outil sait faire
- 🔦 Surlignage en direct de chaque correspondance pendant la frappe
- 🧩 Groupes de capture numérotés et nommés avec positions
- 🔁 Aperçu de remplacement avec la syntaxe $1 et $
- 🚩 Drapeaux : g, i, m, s, u, y
- 📚 Bibliothèque de motifs : e-mail, URL, IPv4, date, couleur hex, téléphone
- 📖 Table de référence de syntaxe intégrée
Quand l'utiliser
- Pour écrire un motif de validation pour un champ de formulaire
- Pour comprendre pourquoi une regex correspond trop ou trop peu
- Pour construire un script de traitement de texte reposant sur des groupes de capture
- Pour vérifier un motif communautaire avant de le reprendre
Confidentialité : le motif et le texte de test sont évalués entièrement dans votre navigateur — rien n'est envoyé ni journalisé. Gratuit.