Guide de l’outil
À propos de Testeur de regex
Un regex tester exécute des expressions régulières JavaScript sur du texte et affiche matches, groupes de capture et indices en direct.
Il sert à déboguer emails, URLs, lignes de log, extraction et validation de formulaires localement dans le navigateur.
Comment utiliser Regex Tester
- Saisissez une expression régulière sans / / externes.
- Activez les flags g, i, m, s, u ou y selon le besoin.
- Collez un texte de test puis inspectez chaque match, capture group et index.
Cas d’utilisation
- Vérifier qu’une validation de formulaire ne rejette pas une entrée valide.
- Extraire IDs, URLs ou codes erreur depuis logs et texte.
- Comparer quantificateurs greedy et lazy pour contrôler la longueur.
Flags, groupes de capture et pièges fréquents
JavaScript regex dépend fortement des flags, escapes et quantificateurs. Un backslash manquant ou un .* trop large peut tout changer.
- g retourne tous les matches; sans g on voit souvent le premier.
- i ignore la casse et m fait fonctionner ^ et $ par ligne.
- Les parenthèses créent des capture groups; (?: ) évite les captures inutiles.
- Le backtracking lourd peut ralentir les longs textes; évitez les quantificateurs très imbriqués.
Questions fréquentes sur Testeur Regex
- Faut-il écrire /pattern/g?
- Non. Saisissez seulement le pattern et réglez les flags séparément.
- Pourquoi le match est-il trop long?
- .* et .+ sont greedy par défaut. Essayez .*? ou une classe de caractères plus précise.
- Mon texte est-il envoyé?
- Non. Le matching s’exécute localement dans le navigateur et n’est pas envoyé à wetool.site.
Regex Tester vs validation production
Le tester donne un retour rapide, mais la production doit couvrir cas limites, valeurs vides, Unicode et différences du moteur regex serveur.
Checklist backtracking catastrophique
Une regex qui fonctionne sur un court sample peut bloquer sur un long input. Avant publication, vérifiez quantificateurs imbriqués et wildcards larges.
- Évitez les patterns explosifs imbriqués ou chevauchants comme (.*)+, (.+)+ ou (a|aa)+.
- Utilisez des character classes explicites au lieu de .* quand possible; par exemple [^,]* pour un champ séparé par virgule.
- Limitez la longueur des inputs contrôlés par utilisateurs et configurez des timeouts serveur ou un engine à exécution sûre.
Regex JavaScript vs engines autres langages
Réussir dans un tester online ne garantit pas le même comportement serveur. Flags, lookbehind, Unicode et named captures varient selon les engines.
- Les flags JavaScript g, i, m, s, u et y ne correspondent pas parfaitement à PCRE, Python ou Go.
- Lookbehind, Unicode property escapes et named groups peuvent manquer dans d’anciens navigateurs ou certains runtimes serveur.
- Avant migration serveur, couvrez valeurs vides, longs inputs, emoji et newlines avec des unit tests du langage cible.