Testeur de Regex (correspondances en direct, groupes, remplacement)
Tape une regex et un texte de test — les correspondances se surlignent en direct pendant que tu tapes. Bascule les drapeaux (g/i/m/s/u), inspecte les groupes de capture, et prévisualise les remplacements.
Fonctionnement
Ce que font les drapeaux
g (global) : trouve toutes les correspondances, pas seulement la première. Nécessaire pour le comportement remplacer-tout. i (insensible à la casse) : /[a-z]/i correspond aux deux casses. m (multiligne) : ^ et $ correspondent aux sauts de ligne au lieu du seul début/fin de chaîne. s (dotall) : . correspond aussi aux sauts de ligne. u (unicode) : gestion correcte des points de code au-dessus de 0xFFFF (emoji, CJK en paires de substitution).
La plupart des gens commencent avec /g/i/m. /s/ devient utile pour la correspondance de texte multiligne. /u/ est recommandé quand tu pourrais rencontrer des emoji ou des caractères non-BMP — sans lui, /./ ne fera pas correspondre un emoji à 4 octets comme un seul caractère.
Groupes de capture et remplacement
Les parenthèses créent un groupe de capture : /(\d{4})-(\d{2})/ sur « 2026-05 » capture « 2026 » et « 05 » séparément. Référence-les comme $1, $2 dans le remplacement. Les groupes nommés utilisent (?<nom>...) et référencent $<nom> dans le remplacement.
Astuces de remplacement courantes : $& insère la correspondance complète. $1, $2 etc. insèrent les groupes de capture. $$ insère un $ littéral. L'aperçu de remplacement ici te permet de vérifier avant de lancer le même pattern sur un vrai texte — bien plus sûr que de le lancer directement sur des données de production.
Pièges à surveiller
Échappement des barres obliques. Pour correspondre à un '.' littéral, utilise '\.'. Dans une chaîne source JavaScript cela devient '\\.' mais dans cet outil tu tapes juste '\.' puisque c'est la source regex.
Retour arrière catastrophique. Des patterns comme /(a+)+/ sur 'aaaa…!' peuvent prendre une éternité. Si ton test semble figé, ta regex peut avoir des quantificateurs imbriqués. Simplifie ou utilise des groupes possessifs/atomiques (non disponibles en regex JS ; utilise une conception soignée à la place).
Gourmand vs paresseux. /<.+>/ sur '<a><b>' correspond à '<a><b>' (gourmand). /<.+?>/ correspond à '<a>' (paresseux). Choisis le bon pour ton cas d'utilisation.
Questions fréquentes
›Quelle saveur de regex cet outil utilise-t-il ?
La regex ECMAScript JavaScript (celle que ton navigateur implémente). Elle diffère légèrement de PCRE utilisé dans PHP, .NET ou Python.
›Pourquoi le lookbehind ne fonctionne-t-il pas ?
Il fonctionne dans les navigateurs modernes — Chrome, Firefox, Safari, Edge supportent tous (?<=...) et (?<!...) depuis 2021. Si ce n'est pas le cas, ton navigateur est peut-être obsolète.
›Que fait le drapeau 'u' ?
Active la gestion Unicode correcte. Les emoji comme 🎉 (qui est une paire de substitution en UTF-16) sont traités comme un seul caractère avec /u/ mais deux sans.
›Comment faire correspondre une tabulation ou un saut de ligne ?
\t pour tabulation, \n pour saut de ligne, \r pour retour chariot, \s pour tout espace blanc y compris tout cela.
›Pourquoi mon remplacement ne fonctionne-t-il pas ?
Le plus souvent, tu as oublié le drapeau 'g' — remplacer sans 'g' ne remplace que la première correspondance. Active 'g' pour tout remplacer.
›Puis-je utiliser cela pour du texte très long ?
Oui, jusqu'à quelques Mo. Au-delà, le navigateur peut ralentir. Évite les patterns catastrophiques (quantificateurs imbriqués) sur les longues entrées.
›Les données quittent-elles mon navigateur ?
Non. Le pattern et le texte sont traités localement uniquement.
›Y a-t-il un aide-mémoire regex ?
Cherche « JavaScript regex cheat sheet ». La page RegExp de MDN est la référence faisant autorité.
Outils similaires
Dernière mise à jour: