Testeur Regex
Testez des expressions régulières avec mise en évidence en direct
Comment ça marche
Testeur Regex — Testez des expressions régulières avec mise en évidence en direct. Tout le traitement se fait dans votre navigateur — sans téléversement, sans inscription, sans e-mail. Gratuit pour toujours.
Dernière mise à jour:
À propos de Testeur Regex
Le regex est l'une de ces compétences où une boucle de test de trente secondes économise une heure à fixer l'écran. Colle un pattern, colle une chaîne d'exemple, regarde les correspondances se surligner en direct pendant que tu ajustes des flags ou corriges un crochet égaré. Ce testeur regex utilise le moteur RegExp de JavaScript — exactement le même que ton code utilisera dans le navigateur, dans Node.js, ou dans tout runtime basé sur V8/JavaScriptCore — donc ce que tu vois ici est ce que tu obtiendras en production.
Les bascules de flags couvrent tout ce que ECMAScript supporte : g pour global, i pour insensible à la casse, m pour les ancres ^/$ multi-lignes, s pour dotAll ("." matche les newlines), u pour Unicode complet, et y pour le sticky matching. Chaque correspondance affiche son texte complet, son index et tous les groupes de capture (numérotés et nommés) pour que tu construises et vérifies la forme d'extraction exacte attendue par ton code.
Les saveurs de regex varient : PCRE en PHP, RE2 en Go et Cloud Logging, le moteur de .NET, et le module re de Python diffèrent tous sur la syntaxe lookbehind, les quantificateurs possessifs et les escapes de propriétés Unicode. Ce testeur cible spécifiquement ECMAScript / JavaScript — si tu écris des patterns pour un service Go ou une requête BigQuery, vérifie le dialecte avant de livrer.
Comment utiliser Testeur Regex
- Tape ou colle ton pattern regex dans le champ Pattern (pas besoin des slashes autour).
- Active les flags nécessaires : g, i, m, s, u, y. Chacun met à jour la liste de correspondances en direct.
- Colle une chaîne de test représentative dans Test string — entrée multi-ligne acceptée.
- Lis le panneau Matches : chaque entrée montre la correspondance complète plus les groupes de capture, numérotés et nommés.
- Ajuste le pattern jusqu'à ce que "Aucune correspondance" disparaisse et que les zones surlignées couvrent ce que tu attends.
- Si tu vois "Regex invalide", cherche un groupe non fermé, une classe de caractères non échappée, ou un conflit de flags.
Cas d'usage courants
- Construire un pattern de validation pour un email, slug ou champ téléphone avant de le coller dans ta bibliothèque de formulaires.
- Extraire des champs structurés (timestamps, request ids, codes de statut) de lignes de log pour un script d'analyse rapide.
- Affiner un pattern de search-and-replace dans ton éditeur avec des références de groupes de capture comme $1, $2.
- Vérifier qu'un find-and-replace destructif ne touchera que les lignes attendues avant de l'exécuter sur un vrai fichier.
- Expliquer à un coéquipier pourquoi ".*" est gourmand et comment les quantificateurs paresseux (".*?") se comportent différemment.
Astuces et erreurs courantes
- Sans le flag g, seule la première correspondance est retournée — active-le dès que tu extrais toutes les occurrences.
- Si tu as besoin que "." matche les newlines, active le flag s (dotAll) plutôt que de recourir à "[\s\S]".
- Utilise les groupes de capture nommés comme "(?<year>\d{4})" pour que les appelants référencent match.groups.year au lieu d'index numériques fragiles.
- ECMAScript supporte le lookbehind ("(?<=…)") dans les navigateurs modernes mais Safari l'a adopté tardivement — vérifie sur tes runtimes cibles si tu dois supporter des appareils anciens.
Questions fréquentes
Quelle saveur regex est supportée ?
Le moteur RegExp natif de JavaScript, le même utilisé dans les navigateurs et Node.js. Les flags ECMAScript g, i, m, s, u, y sont supportés.
Puis-je voir les groupes de capture ?
Oui. Chaque correspondance montre les groupes numérotés $1, $2, …. Les groupes nommés apparaissent dans la sortie JSON de chaque correspondance.
Pourquoi '.*' correspond-il trop ?
Par défaut '.' ne correspond pas aux sauts de ligne. Activez la flag 's' (dotAll) si vous avez besoin que '.' corresponde à tous les caractères y compris les sauts de ligne.
Cela supporte-t-il les fonctionnalités PCRE comme les patterns récursifs ou les quantificateurs possessifs ?
Non. C'est le moteur RegExp de JavaScript, conforme à ECMAScript. Les patterns récursifs, les quantificateurs possessifs ("++", "*+") et certains conditionnels PCRE ne sont pas supportés. Pour ceux-ci, utilise un outil PHP/Perl/PCRE spécifique.
Puis-je tester des patterns destinés à Go (RE2) ou BigQuery ?
Tu peux prototyper la forme de base, mais RE2 omet délibérément lookbehind et backreferences pour des raisons de performance et de sécurité. Re-vérifie toujours dans le dialecte cible — cet outil est saveur JS.
Pourquoi mon pattern matche-t-il silencieusement trop ?
Les quantificateurs sont gourmands par défaut — ".*" mange le maximum possible. Ajoute "?" pour les rendre paresseux (".*?"), ou utilise une classe de caractères plus spécifique comme "[^/]*" plutôt que ".".
Derniers articles du blog
- Les expressions cron de zéro : un guide visuelApprenez la syntaxe POSIX cron à 5 champs, les caractères spéciaux, les valeurs de pas, les extensions Quartz, les différences AWS cron, et une dizaine d'exemples concrets que vous pouvez copier-coller dans une crontab dès aujourd'hui.
- Regex pour non-développeurs : un guide pratiqueUn tutoriel regex amical, sans jargon, pour rédacteurs, analystes, marketeurs, et tous ceux qui vivent dans Rechercher et Remplacer. Apprenez la syntaxe qui compte et piquez dix recettes prêtes à l'emploi.
Outils similaires
- Encodeur/Décodeur URLEncodez et décodez les composants URI et les URLs complètes
- Générateur d'UUIDGénérez des UUID v4 cryptographiquement aléatoires en lot
- Décodeur JWTDécodez et inspectez les JSON Web Tokens (en-tête, payload, expiration)
- Constructeur d'expressions CronConstruisez et expliquez des expressions cron en langage clair
- Formateur SQLEmbellissez, minifiez ou formatez des requêtes SQL pour tout dialecte
- Convertisseur YAML ↔ JSONConvertissez entre YAML et JSON dans les deux sens