Testeur de regex
Construisez et testez des regex JS avec surlignage et détail des groupes de capture. Six flags, cinq motifs d'exemple. Dans le navigateur.
Motif entre les barres obliques ; activez les flags à droite. Survolez chaque flag pour voir son rôle.
Qu'est-ce qu'un testeur de regex ?
Un testeur de regex compile une expression régulière en temps réel et montre quelles sous-chaînes correspondent — indices, longueurs, groupes de capture.
À quoi servent les flags ?
Chaque flag modifie le moteur : <code>g</code> toutes correspondances, <code>i</code> insensible à la casse, <code>m</code> <code>^/$</code> par ligne, <code>s</code> <code>.</code> avec saut de ligne, <code>u</code> Unicode, <code>y</code> sticky.
Éviter le backtracking catastrophique
Les motifs avec quantificateurs imbriqués comme <code>(a+)+b</code> peuvent prendre un temps exponentiel. Ce testeur limite l'entrée à 100 Ko et tente d'avorter après 100 ms.
Une réponse JSON à inspecter ? Essayez notre formateur JSON.
Utilisations courantes
- Validation d'email : Construisez un regex pragmatique compréhensible — RFC 5322 complet est énorme.
- Extraction de logs : Extrayez IDs de requête, codes d'erreur ou timestamps des logs serveur.
- Nettoyage de formulaires : Validez téléphones, codes postaux, SKUs avant l'API.
- Recherche-remplacement : Itérez un motif ici avant de le coller dans VS Code.
- Correspondance d'URL : Motifs avec groupes nommés pour extraire les segments.
- Configuration CI lint : Testez les motifs pour ESLint ou pre-commit avant de commit.
- Nettoyage de données à grande échelle : Pilotez un regex sur un échantillon CSV avant l'ETL.
FAQ
Que signifie le flag g ?
Le flag "global" indique au moteur de trouver toutes les correspondances. Sans lui, .match() ne renvoie que la première.
Qu'est-ce qu'un groupe de capture ?
Les parenthèses créent un groupe de capture — le moteur se souvient de ce qui correspond. (?
Lookahead vs lookbehind — quand utiliser quoi ?
Le lookahead (?=…) vérifie ce qui suit sans le consommer ; le lookbehind (?<=…) fait l'inverse. Utiles pour des assertions contextuelles.
Pourquoi mon regex est-il lent ou bloque-t-il la page ?
Probablement du backtracking catastrophique — les quantificateurs imbriqués créent des chemins exponentiels. Refactorisez avec des quantificateurs possessifs.
Cet outil envoie-t-il mon regex ?
Non. Le regex compile et s'exécute dans votre navigateur. Le motif et les flags sont sauvegardés en localStorage, mais la chaîne de test n'est jamais persistée.
En chiffres
- Le regex JavaScript suit la spécification ECMA-262 — supporté par tous les navigateurs modernes sans polyfills
- Les six flags
g i m s u yajoutent des comportements spécifiques —gtoutes correspondances,iinsensible à la casse,sfait correspondre.aux sauts de ligne - Un motif "backtracking catastrophique" peut prendre un temps exponentiel — ne jamais faire confiance à des motifs utilisateur côté serveur sans timeout
- Les groupes de capture nommés
(?<name>...)ont été standardisés en ES2018, accessibles viamatch.groups.name