Testeur d'Expressions Régulières
FreeTestez une expression régulière sur du texte en utilisant le moteur d'expressions régulières JavaScript natif, avec un surlignage des correspondances en direct, une analyse complète des groupes de capture numérotés et nommés, et un mode de remplacement optionnel qui prévisualise la sortie de String.replace().
Fonctionne entièrement dans votre navigateur avec le moteur d'expressions régulières JavaScript natif. Rien n'est téléchargé où que ce soit.
Correspondances surlignées
Correspondances
Activité récente
Visible par tous. Les 20 dernières utilisations de tous les visiteurs, les plus récentes en premier.
Tested a pattern (50 chars, flags: g) -- 2 match(es)
il y a 2 heures
Tested a pattern (50 chars, flags: g) -- 2 match(es)
il y a 2 heures
Tested a pattern (50 chars, flags: g) -- 2 match(es)
il y a 2 heures
Tested a pattern (50 chars, flags: g) -- 2 match(es)
il y a 2 heures
Tested a pattern (50 chars, flags: (none)) -- 1 match(es)
il y a 2 heures
Tested a pattern (50 chars, flags: g) -- 2 match(es)
il y a 2 heures
Ce que fait cet outil
Cet outil teste une expression régulière sur un bloc de texte en utilisant le moteur d'expressions régulières JavaScript natif du navigateur. Les correspondances sont surlignées directement dans le texte, chaque correspondance est décomposée en ses groupes de capture numérotés et nommés, et un mode de remplacement optionnel montre exactement ce que String.replace() produirait avec votre motif et votre texte de remplacement.
Comment ça marche
Votre motif et les drapeaux sélectionnés sont compilés en un véritable objet RegExp JavaScript. Lorsque le drapeau Global est activé, l'outil appelle exec() de façon répétée sur le texte, avançant au-delà de chaque correspondance (et d'un caractère au-delà des correspondances vides pour éviter une boucle infinie) jusqu'à ce qu'aucune autre correspondance ne soit trouvée ; sans Global, exec() est appelé une seule fois. Le surlignage est construit en parcourant les correspondances dans l'ordre et en entourant chaque sous-chaîne correspondante d'un marqueur, sans toucher au texte environnant. Le mode remplacement appelle la propre méthode replace() du texte avec votre motif compilé et votre chaîne de remplacement, de sorte que le résultat est exactement ce que produirait votre propre code JavaScript.
Problèmes résolus
- Déboguer pourquoi une expression régulière dans votre code JavaScript réel ne correspond pas à ce que vous attendez, avec exactement le même moteur.
- Prévisualiser une opération de recherche et remplacement avant de l'exécuter sur de vraies données.
- Comprendre à quelle partie d'un motif correspond chaque groupe de capture, en voyant le texte capturé de chaque groupe en même temps.
- Apprendre les drapeaux des expressions régulières de façon pratique, en les activant et désactivant et en observant comment la liste des correspondances change instantanément.
Questions fréquentes
›Quelle variante de regex cet outil utilise-t-il ?
Cet outil exécute votre motif via le propre moteur RegExp JavaScript natif du navigateur, il correspond donc exactement au comportement d'une expression régulière dans du vrai code JavaScript, dans Node.js, ou dans un validateur de formulaire côté navigateur, pas à une autre variante comme PCRE (PHP, Python avec le module re a ses propres particularités) ou les regex .NET, qui peuvent différer dans la prise en charge du lookbehind, la syntaxe des groupes nommés et quelques autres détails.
›Que changent réellement les drapeaux g, i, m, s et u ?
g (global) trouve chaque correspondance au lieu de s'arrêter à la première ; i rend la correspondance insensible à la casse ; m fait que ^ et $ correspondent au début et à la fin de chaque ligne plutôt qu'uniquement à ceux de toute la chaîne ; s (dotall) fait que . correspond aussi aux retours à la ligne, ce qu'il ne fait pas autrement ; u active le mode Unicode complet, qui affecte la façon dont les classes de caractères et les paires de substitution (caractères hors du Plan de base multilingue, comme de nombreux emojis) sont traitées.
›Pourquoi certains groupes de capture apparaissent-ils comme manquants même si mon motif contient des parenthèses ?
Un groupe de capture faisant partie d'une alternance (A|B) ne capture que lorsque cette branche de l'alternance a effectivement correspondu, donc un groupe provenant de la branche non utilisée est signalé comme non participant, il s'agit d'un comportement standard des expressions régulières et non d'un bug dans une correspondance particulière.
›Comment le mode de remplacement interprète-t-il mon texte de remplacement ?
Le mode remplacement utilise la propre syntaxe de substitution String.replace() de JavaScript : $1, $2, etc. insèrent un groupe de capture numéroté, $<name> insère un groupe nommé, $& insère toute la correspondance, et $$ insère un signe dollar littéral, exactement comme cela se comporterait dans du code JavaScript réel.
›Mon motif ne correspond qu'une seule fois alors que j'attends plusieurs correspondances, pourquoi ?
Vérifiez que le drapeau Global (g) est activé ; sans lui, la liste des correspondances et String.replace() n'agissent que sur la première correspondance trouvée, ce qui est le comportement standard des expressions régulières JavaScript, pas une limitation de cet outil.
Outils similaires
Texte
Générateur d'Expression Cron
Créez et analysez des expressions cron avec un éditeur de champs en direct, une description en clair et les 5 prochaines exécutions réelles. Prend en charge les préréglages, les raccourcis @ et la variante optionnelle à 6 champs avec secondes.
FreeTexte
Outil de Chiffrement de César
Chiffrez ou déchiffrez du texte avec le chiffre de César classique, avec un tableau de correspondance A-Z, une liste de force brute, un graphique de fréquence des lettres, et un raccourci ROT13.
FreeTexte
Générateur d'Art ASCII
Transformez du texte saisi ou une image importée en art ASCII. Choisissez un style de police ou une échelle de caractères, conservez la couleur et exportez en texte brut ou en PNG.
FreeTexte
Rédacteur de Secrets/Config
Collez un fichier .env ou de configuration et masquez automatiquement les clés API, mots de passe et jetons à côté de noms de clé sensibles ou de formats de secrets connus (AWS, GitHub, Stripe, JWT, PEM). Ensuite sûr à coller dans une IA de chat ou un rapport de bug.
FreeTexte
Générateur d'Enregistrement DMARC
Créez un enregistrement DNS DMARC à partir de champs en langage clair, avec des préréglages de déploiement progressif et un indicateur en direct du niveau d'application.
FreeTexte
Convertisseur Excel vers Tableau HTML
Collez depuis Excel ou Google Sheets, ou importez un fichier .xlsx/.xls/.csv, et obtenez un tableau HTML propre avec aperçu en direct, style optionnel et alignement des colonnes numériques.
FreeTexte
Générateur de Hash (MD5/SHA1/SHA256/SHA512)
Hachez du texte ou un fichier en MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160 et CRC32 en une fois, avec un champ de comparaison pour une somme de contrôle connue.
FreeTexte
Générateur htpasswd
Générez un véritable fichier .htpasswd Apache avec bcrypt ou SHA, vérifié octet par octet par rapport à l'outil officiel en ligne de commande htpasswd, avec prise en charge de plusieurs utilisateurs à la fois.
Commentaires (0)
Cet outil vous a-t-il été utile ? Laissez un commentaire, partagez une astuce, ou dites-nous comment nous pourrions l'améliorer.
Pas encore de commentaires. Soyez le premier à partager votre avis !