Comment utiliser cet outil ?
- Saisir votre pattern regex dans le champ supérieur.
- Coller la chaîne de test dans le champ inférieur — les correspondances sont mises en évidence immédiatement.
- Activer les flags comme g, i, m ou s via la barre de cases à cocher.
- Copier le résultat ou le partager via l'URL partage.
Que fait ce testeur Regex ?
Une expression régulière (regex) décrit un motif de recherche pour des chaînes. Le testeur prend votre pattern, l’applique à une chaîne de test et montre immédiatement toutes les correspondances mises en couleur. Les groupes capturants — nommés et non nommés — sont ventilés individuellement, de sorte que vous voyiez quelle partie du pattern matche quelle section de la chaîne.
L’exécution utilise l’objet JavaScript natif RegExp directement dans le navigateur. Aucun serveur ne reçoit votre pattern ni vos données de test. C’est particulièrement pertinent quand vous travaillez avec des données de production : lignes de log, chemins de requête, jetons d’authentification ou adresses IP n’ont rien à faire sur des serveurs étrangers — pas même pour tester une regex.
Quels flags regex existe-t-il ?
JavaScript connaît six flags pertinents qui pilotent le comportement de matching :
| Flag | Nom | Effet |
|---|---|---|
g | Global | Trouve toutes les correspondances au lieu de la première seulement. |
i | Case-Insensitive | Ignore la casse. |
m | Multiline | ^ et $ matchent début/fin de ligne au lieu de début/fin de chaîne. |
s | DotAll | . matche aussi \n (saut de ligne). |
u | Unicode | Active la reconnaissance Unicode (échappements \p{...}, gestion correcte des surrogates). |
v | UnicodeSets | ES2024 : opérations Unicode Set ([\p{Lu}&&\p{Script=Latin}]). Inclut /u. |
Important : /u et /v ensemble sont invalides — /v est le successeur de /u et inclut sa fonctionnalité. Le testeur affiche un avertissement si les deux sont activés simultanément.
Comment fonctionnent les groupes capturants et les références arrière ?
Les groupes capturants vous permettent d’extraire séparément des parties d’une correspondance. Les groupes nommés ((?<name>...)) améliorent la lisibilité et rendent le code plus robuste que les références numérotées :
Pattern : (?<annee>\d{4})-(?<mois>\d{2})-(?<jour>\d{2})
Entrée : 2026-04-21
Match : annee=2026, mois=04, jour=21
Le testeur affiche chaque groupe avec nom et position — vous voyez immédiatement si votre pattern extrait les bonnes parties.
Quels pièges existe-t-il ?
Flag g oublié
Sans g, .match() ne renvoie que la première correspondance. Dans beaucoup de cas d’usage (parsing de logs, validation en masse), c’est une erreur qui ne se voit qu’en production.
Échappement de backslash
Dans un littéral string JavaScript, vous avez besoin de doubles backslashes : new RegExp("\\d+") au lieu de new RegExp("\d+"). Pour les littéraux regex (/\d+/), cela disparaît. Le testeur travaille au format littéral — en portant dans des arguments string, vous devez doubler les backslashes.
Différences de dialecte
Un pattern qui marche dans regex101 (moteur PCRE) peut échouer en JavaScript sur :
- Classes POSIX (
[:alpha:],[:digit:]) — non disponibles en JS, à la place\p{Letter}avec flag/u. - Groupes atomiques (
(?>...)) — non supportés nativement en JS. - Longueur variable de lookbehind — supportée en JS depuis ES2018, pas du tout en Go/RE2.
- Patterns récursifs (
(?R)) — uniquement en PCRE, pas en JS.
Qui porte des patterns entre langages devrait tester directement dans le langage cible.
Backtracking catastrophique
Le pattern (a+)+$ peut, sur l’entrée aaaaaaaaaaaaaab, essayer exponentiellement de chemins. En production, cela conduit à des requêtes suspendues ou des event-loops bloquées. Antidotes :
- Quantifieurs possessifs (
a++) — disponibles en PCRE, pas en JS. - Groupes atomiques — pas natifs en JS, mais simulables en réécrivant avec lookahead.
- Simplification du pattern :
a+$au lieu de(a+)+$livre le même résultat sans risque de backtracking.
Quelles fonctions ES2024/2025 sont supportées ?
Les regex JavaScript évoluent. Trois fonctions sont particulièrement pertinentes en 2026 :
Flag /v (Unicode Sets) : permet des opérations Set dans les classes de caractères. [\p{Script=Latin}&&\p{Lu}] matche uniquement les majuscules latines. Disponible dans Chrome 112+, Safari 17+, Firefox 116+.
Pattern Modifiers (?i:...) : permet de changer de flag au milieu du pattern. foo(?i:bar)baz matche fooBarBaz, mais pas FOOBarBaz. Disponible dans Chrome 125+, Edge 125+. Le support Firefox est encore attendu (état avril 2026).
RegExp.escape() : échappe les caractères spéciaux dans une chaîne pour qu’elle puisse être utilisée en toute sécurité comme littéral regex. Actuellement Stage 3 (TC39), pas encore de support navigateur — mais cette fonction résout une erreur fréquente (points, parenthèses, étoiles non échappés dans des patterns dynamiques).
Confidentialité — 100 % dans le navigateur
regex101.com — le testeur regex le plus connu — envoie pattern et chaîne de test à un serveur backend. C’est problématique quand vous travaillez avec des données de production :
« those logs contained client IPs, user agents, and request paths from production. All of it, shipped off to someone else’s server. »
Ce testeur traite tout localement via l’objet JavaScript natif RegExp. Pas de logging, pas de tracking, pas de contact serveur. Conforme RGPD parce qu’aucun traitement n’a lieu sur des serveurs externes.
Quels exemples d’usage existe-t-il ?
- Parsing de logs : filtrer des logs serveur par adresses IP, codes de statut ou timestamps — directement dans le navigateur, sans téléverser de données.
- Validation de formulaire : tester des patterns e-mail, code postal ou IBAN avant qu’ils ne partent en code de production.
- Extraction de données : définir des groupes capturants pour lignes CSV, champs JSON ou liens Markdown et les vérifier immédiatement contre des données d’exemple.
- Migration de code : porter des patterns entre PCRE et JavaScript et repérer immédiatement les différences de dialecte.
- Apprentissage : essayer la syntaxe regex de manière interactive, comprendre les flags et repérer les pièges de backtracking.
Questions fréquentes
Les réponses aux questions principales se trouvent dans le bloc FAQ ci-dessus — elles sont émises en JSON-LD structuré (FAQPage) pour les moteurs de recherche.
Quels outils développeur sont apparentés ?
Autres outils de l’écosystème convertisseur qui conviennent au sujet :
- Formateur JSON — rendre du JSON brut lisible avec une indentation propre et repérer les erreurs de syntaxe.
- Générateur UUID — produire des UUID cryptographiquement sûrs (v4 et v7) directement dans le navigateur.
- Compteur de caractères — compter et analyser caractères, mots et lignes dans tout texte.
Dernière mise à jour :