Testeur Regex, Explicateur et Générateur
Testez, expliquez en langage clair et générez des expressions régulières par l'exemple sans latence. Inclut bouclier anti-ReDoS, groupes et tests unitaires.
Outils en LigneExplicateur Visuel en Langage Clair
Survolez n’importe quelle pilule visuelle ci-dessous pour surligner ce segment exact dans la barre regex ET les caractères correspondants dans le texte.
^Ancre([A-Z]{3})#1 Groupe Capture-Littéral(\d{4})#2 Groupe Capture-Littéral([A-Z0-9]{1,4})#3 Groupe Capture$AncreModifiez le texte ci-dessous. Les correspondances complètes brillent en Émeraude ; les Groupes 1, 2 et 3 en Violet, Cyan et Ambre.
[INV] #2026/0042 [ORD] #8841/X [SKU] #9948/A1 ERR_CONNECTION_TIMEOUT [LOG] #2025/0099
Inspecteur des Correspondances et Groupes Capturés(4)
Comment Utiliser le Testeur Regex, Explicateur et Générateur
Maîtrisez la synthèse par l’exemple, le débogage visuel AST et les tests unitaires en 6 étapes :
Saisissez un Regex ou Choisissez un Bloc
Tapez votre expression en haut ou cliquez sur un Bloc Visuel en 1 Clic (ID Alphanumérique, Courriel, URL, IPv4, Date YYYY-MM-DD, Couleur Hex, Mot de Passe Fort).
Survolez les Pilules en Langage Clair
Passez la souris sur n’importe quelle pilule colorée sous la barre pour lire sa traduction en français et surligner simultanément le segment regex et le texte capturé.
Analysez le Surlignage Multicouche
Dans la Zone de Texte Libre, vérifiez les correspondances complètes en Émeraude et les groupes $1 (Violet), $2 (Cyan) et $3 (Ambre) avec leurs index exacts.
Générez des Modèles par l’Exemple
Ouvrez « Générer par l’Exemple », collez 2 à 5 chaînes comme ORD-8841-X et choisissez entre Structure Exacte, Longueur Flexible ou Extracteur de Texte.
Exécutez la Suite de Tests Multi-Chaînes
Basculez sur « Suite de Tests Multi-Chaînes » pour valider simultanément vos tests positifs et négatifs avec extraction automatique des groupes en colonnes.
Formatez avec $1–$3 et Exportez le Code
Utilisez le tiroir « Remplacer / Formater » pour transformer vos chaînes en direct et exportez le code prêt pour JS/TS, Python, PHP, Go ou C#.
Questions Fréquentes sur les Expressions Régulières
Conseils pratiques sur les caractères accentués, les séparateurs de milliers, les lookaheads et la sécurité :
Q :Comment capturer correctement les mots contenant des accents (é, è, ê, à), la cédille (ç) ou les ligatures (œ, æ) ?
La classe abrégée \w se limite strictement aux caractères ASCII de base ([A-Za-z0-9_]) et s’arrête dès qu’elle rencontre une lettre accentuée. Pour analyser du texte rédigé en français sans tronquer les mots, utilisez une classe explicite comme [a-zA-ZÀ-ÿœæŒÆ]+ ou activez le drapeau Unicode (u) avec la propriété \p{L}+.
Q :Pourquoi les montants formatés avec une espace comme séparateur de milliers (ex. 12 500,00) échouent-ils souvent avec un espace simple ?
Dans les documents comptables et les exports bancaires, les milliers sont fréquemment séparés par une espace insécable ou une espace fine plutôt que par un espace standard. Au lieu de taper un espace littéral dans votre motif, utilisez \s dans un groupe non capturant : \d{1,3}(?:[\s.]\d{3})*,\d{2}. Vous capterez ainsi tous les formats de montants sans faux négatifs.
Q :Comment les pilules visuelles aident-elles à repérer rapidement une erreur de parenthèse ou de quantificateur ?
Lorsqu’une expression régulière devient longue, il est difficile de voir sur quoi porte exactement un + ou un {2,4}. Le découpage en pilules traduit chaque brique en français clair (par exemple \d+ en « Un ou plusieurs chiffres (0-9) ») et le survol à la souris met simultanément en surbrillance le jeton dans la barre et les caractères capturés dans votre texte.
Q :Quelle est la différence concrète entre un Lookahead (?=...) et un groupe de capture classique (...) ?
Un groupe classique (...) consomme les caractères du texte et les enregistre dans $1, $2, etc. Un Lookahead positif (?=...) vérifie simplement qu’une condition est présente plus loin dans la chaîne sans avancer le curseur de lecture. C’est la technique idéale pour vérifier qu’un mot de passe contient au moins un chiffre (?=.*\d) et un symbole (?=.*[!@#$%^&*]) en une seule passe.
Q :Comment restructurer des journaux (logs) ou des dates à la volée avec l’outil « Remplacer / Formater » ?
Dès que votre motif contient des groupes — numérotés comme (\d{4})-(\d{2})-(\d{2}) ou nommés comme (?<year>\d{4}) — vous pouvez les réassembler librement dans le panneau de substitution. Par exemple, saisir $<day>/$<month>/$<year> ou [$1] #$2/$3 transforme instantanément toutes les occurrences trouvées sans écrire une seule ligne de script.
Q :Comment le disjoncteur à 150 ms évite-t-il le blocage du navigateur (ReDoS) tout en gardant mes données confidentielles ?
Des quantificateurs imbriqués comme (a+)+ peuvent provoquer un nombre exponentiel d’essais (2^n) lorsqu’une ligne contient un caractère inattendu en fin de chaîne. Notre analyseur repère ces structures dangereuses et coupe automatiquement l’exécution au-delà de 150 ms. L’ensemble du traitement s’exécute à 100 % en local dans votre navigateur, sans aucun envoi réseau.
Qu'est-ce que Testeur Regex, Explicateur et Générateur ?
Relire une expression régulière écrite il y a plusieurs mois ressemble souvent à du déchiffrage : une parenthèse mal fermée ou un point non échappé suffit à fausser tout un filtre. Ce Testeur Regex, Explicateur en Langage Clair et Générateur de Modèles a été conçu pour rendre chaque étape visuellement limpide. Comme l’intégralité de l’analyse s’exécute localement dans votre navigateur, vous pouvez tester vos journaux applicatifs, vos règles de validation ou vos exports comptables en toute confidentialité, sans qu’aucune donnée ne transite sur le réseau.
Pourquoi l’approche visuelle change la façon de concevoir un motif
Plutôt que de modifier à tâtons une chaîne comme ^([A-Z]{3})-(\d{4})-([A-Z0-9]{1,4})$, vous disposez ici de quatre outils complémentaires :
- Découpage en pilules explicatives : Chaque brique du motif est traduite en français clair (par exemple,
\d+devient « Un ou plusieurs chiffres (0-9) »). Survolez une pilule à la souris pour surligner simultanément ce segment dans la barre supérieure et les caractères capturés dans votre texte. - Synthèse automatique par l’exemple : Collez simplement 2 à 5 exemples concrets (comme
ORD-8841-XetORD-1029-B) pour générer le motif correspondant sans compter les caractères à la main. - Tableau de tests positifs et négatifs : Vérifiez simultanément que vos chaînes valides sont acceptées (+) et que les cas erronés comme
2026-13-01sont bien rejetés (–), avec une colonne dédiée à chaque groupe de capture ($1, $2). - Disjoncteur anti-blocage à 150 ms (Bouclier ReDoS) : Repère immédiatement les répétitions imbriquées risquées du type
(a+)+et interrompt toute boucle excessive avant qu’elle ne fige votre onglet.
Modèles Pratiques pour Accents, Montants avec Espace et Journaux Système
| Besoin Concret | Modèle Regex Conseillé | Pourquoi Ce Choix Est Sûr | Exemple de Capture |
|---|---|---|---|
| Mots avec accents, ç et œ | [a-zA-ZÀ-ÿœæŒÆ]+ | Inclut toutes les lettres accentuées et ligatures que la classe abrégée \w+ ignore par défaut. | Référence, aperçu, œuvre, créé |
| Montants avec espace de milliers | \d{1,3}(?:[\s.]\d{3})*,\d{2} | Utilise \s pour accepter aussi bien l’espace fine ou insécable que l’espace standard. | 12 500,00 / 1.250,50 / 85,00 |
| Niveau de sévérité de journal | ^\[(?<niveau>INFO|WARN|ERR)\] | Extrait l’étiquette exacte en début de ligne dans le groupe nommé $<niveau>. | [WARN] Délai dépassé → "WARN" |
| Masquage du dernier octet IPv4 | (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}) | Sépare les 4 octets pour permettre l’anonymisation rapide via $1.$2.$3.xxx. | 192.168.10.45 → 192.168.10.xxx |
| Chaîne entre guillemets français | «\s*([^»]+?)\s*» | Capture le texte interne en ignorant les espaces superflus autour des chevrons. | « Module actif » → $1 = "Module actif" |
Cas Pratique : Anonymiser des Journaux d’Accès Avant un Audit Technique
Imaginons que vous deviez partager un extrait de journal d’accès pour diagnostiquer une panne, contenant des lignes telles que 2026-11-02 | IP=192.168.10.45 | Ref=INV-2026-0042, mais que vous souhaitiez masquer le dernier segment de chaque adresse IPv4 et reformater la date. En utilisant le modèle (\d{4})-(\d{2})-(\d{2})\s*\|\s*IP=(\d{1,3}\.\d{1,3}\.\d{1,3})\.\d{1,3}\s*\|\s*Ref=(INV-\d{4}-\d{4}) et le modèle de remplacement [$3/$2/$1] IP=$4.xxx ($5) dans l’onglet Remplacer / Formater, vous obtenez instantanément [02/11/2026] IP=192.168.10.xxx (INV-2026-0042), prêt à être copié en toute sécurité.
Histoire et Origine
Avant de devenir l’outil quotidien des développeurs, les expressions régulières sont nées dans les années 1950 au croisement des mathématiques et de la logique formelle. Elles servaient alors à décrire sur le papier comment un automate à états finis passe d’un état à un autre en lisant une suite de symboles.
La rencontre avec l’informatique pratique a eu lieu une vingtaine d’années plus tard, lorsque les premiers éditeurs de texte en mode console ont intégré un moteur capable de compiler une expression en automate directement en mémoire vive. Cette idée a donné naissance aux utilitaires de recherche en ligne de commande, puis à la norme POSIX et à la bibliothèque PCRE. Aujourd’hui, les moteurs JavaScript modernes vont encore plus loin en fournissant la position exacte de chaque groupe capturé tout en nécessitant des garde-fous contre le backtracking exponentiel.