search

Found

info Aperçu

Exécute une regex JavaScript avec g/i/m sur un texte, surligne les correspondances et décompose le motif en 16 tokens.

📘 Mode d'emploi

  1. Saisir une expression régulière dans le champ principal ou sélectionner un modèle prédéfini dans la liste.
  2. Activer ou désactiver les drapeaux (g, i, m) pour modifier le comportement d'analyse du moteur.
  3. Saisir le texte de test pour visualiser les correspondances en surbrillance et lire l'analyse des jetons générée.

Testeur de regex avec décomposition des tokens

Exécute une regex JS avec g/i/m, surligne les matchs et décompose 16 tokens

Résultat de la Correspondance

Décomposition du Motif

  • Input a pattern to see details...

📋 Aide-mémoire

Article

Testeur et Explicateur de Regex | Outil d'Analyse d'Expressions Régulières en Ligne

Testeur et explicateur d'expressions régulières (Regex) interactif destiné aux développeurs, ingénieurs QA et administrateurs système. Cet outil permet d'évaluer, de déboguer et de comprendre la syntaxe des motifs de recherche de manière instantanée et sécurisée.

💡 Présentation de l'outil

  • Analyse et explication des jetons Le système décortique automatiquement la syntaxe saisie (quantificateurs, classes de caractères, groupes de capture) et génère une explication détaillée de chaque élément, facilitant l'audit des motifs complexes.
  • Validation en temps réel avec surbrillance Visualisez instantanément les correspondances mises en évidence dans la chaîne de test. Le moteur JavaScript évalue la Regex à chaque frappe, permettant un débogage itératif et précis.
  • Gestion des drapeaux (Flags) Ajustez le comportement de correspondance via les options standard de l'ECMAScript : g (recherche globale), i (insensible à la casse) et m (multiligne).
  • Aide-mémoire intégré (Cheat Sheet) Accédez rapidement à des extraits prêts à l'emploi pour les validations courantes : adresses email, URL, formats de date (ISO 8601, YYYY-MM-DD) et séquences numériques.
  • Traitement local et sécurité Toutes les données (motifs et textes de test) sont traitées de manière strictement locale. Aucune donnée n'est envoyée à un serveur, tout est exécuté uniquement dans votre navigateur, garantissant une totale conformité au RGPD lors de la manipulation de logs ou de données sensibles.

🧐 Foire aux questions

Q. Quel moteur d'expression régulière cet outil utilise-t-il ?

A. Cet outil s'appuie sur le moteur Regex natif de JavaScript (ECMAScript) exécuté directement dans votre navigateur. La syntaxe est largement compatible avec la norme PCRE (Perl Compatible Regular Expressions), mais certains comportements avancés spécifiques à des moteurs comme Python (re), PHP ou Java (ex: les assertions arrière complexes) peuvent présenter de légères différences.

Q. Que signifient les options g, i, et m ?

A. Ce sont les modificateurs de comportement (flags). Le g (global) force le moteur à rechercher toutes les occurrences au lieu de s'arrêter à la première. Le i (ignoreCase) rend la correspondance insensible aux majuscules et minuscules. Le m (multiline) modifie les ancres de position ^ et $ pour correspondre au début et à la fin de chaque ligne interne, et non de la chaîne entière de test.

📚 Bonnes pratiques : Optimisation et "Catastrophic Backtracking"

Dans les environnements de production soumis à de forts trafics, la performance des expressions régulières est critique. Un motif mal optimisé peut déclencher ce que l'on appelle un "Catastrophic Backtracking" (retour sur trace catastrophique). Ce phénomène survient lorsque le moteur tente de calculer un nombre exponentiel de permutations pour des quantificateurs imbriqués (par exemple (a+)+$), ce qui peut saturer le processeur et bloquer le thread d'exécution.

Pour maintenir une complexité algorithmique saine (idéalement de l'ordre de O(n)), il est recommandé d'utiliser des classes de caractères strictes (comme [^<]+ au lieu de .*) et d'éviter les quantificateurs gourmands non encadrés lorsque l'espace de recherche est vaste. Les développeurs doivent utiliser cet analyseur pour vérifier que la structure de leur Regex est linéaire et que chaque jeton correspond exactement aux contraintes souhaitées, minimisant ainsi les risques de vulnérabilités liées au déni de service régulier (ReDoS).