Texte

Regex Tester / Find & Replace

Test d'expressions régulières sur du texte réel : correspondances surlignées et groupes de capture analysés, ou remplacement des correspondances trouvées par un nouveau texte.


                        

                        

A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.

How to use it

Common uses

Things to keep in mind

Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).

Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.

Article sur cet outil: Expressions régulières : syntaxe de base et motifs courants

Questions fréquentes

Quel moteur de regex est utilisé ?

L'outil utilise le moteur regex de JavaScript, pas PCRE, donc certaines syntaxes propres à PCRE (comme les assertions récursives ou certains modes de correspondance possessive) ne fonctionneront pas ici ; les indicateurs courants comme g, i, m, s et u sont pris en charge.

Quelle est la différence entre quantificateurs gourmands et paresseux, et entre Test et Remplacer ?

Un quantificateur gourmand comme * ou + capture le plus de texte possible, tandis que sa version paresseuse (*?, +?) s'arrête au plus tôt ; côté modes, Test surligne les correspondances et liste les groupes de capture (y compris nommés), et Remplacer applique un texte de remplacement, avec références comme $1, à chaque correspondance.

Mon texte et mon expression sont-ils envoyés à un serveur ?

Non, l'évaluation de l'expression régulière se fait entièrement côté client dans votre navigateur, rien n'est transmis en ligne.

Qu'est-ce que le backtracking catastrophique ?

Des quantificateurs imbriqués comme (a+)+ peuvent, sur certaines chaînes en entrée, forcer le moteur à explorer un nombre exponentiel de combinaisons — la page ou le script « se fige » sur une expression en apparence simple. C'est une vraie classe de vulnérabilité (ReDoS), donc les quantificateurs imbriqués complexes doivent être testés sur de longues chaînes presque correspondantes.

Pourquoi mon expression fonctionne-t-elle dans un langage mais pas dans un autre ?

La syntaxe des regex n'est pas entièrement standardisée : PCRE (PHP, beaucoup d'autres langages), .NET, Python re et JavaScript présentent de petites différences dans la prise en charge de certaines constructions (comme les look-behind ou les groupes nommés) — une expression écrite pour un moteur ne fonctionne pas toujours telle quelle dans un autre.

Articles : Texte

Case Converter : pourquoi il existe différents styles de nommage

Pourquoi un même projet écrit les variables en camelCase mais les fichiers en kebab-case, et d'où viennent ces règles.

Text Diff : comment les algorithmes trouvent la différence entre deux textes

Comment un algorithme de diff trouve l'ensemble minimal de changements entre deux versions d'un texte.

Trier et dédupliquer des lignes : pourquoi c'est utile

Pourquoi un tri numérique plaçant « 10 » avant « 9 » est une erreur, et comment l'éviter.

String Escape : pourquoi le même texte doit être échappé différemment

Pourquoi le même guillemet s'échappe différemment dans une chaîne JS, du JSON et une commande shell.

CRLF contre LF : pourquoi les caractères de fin de ligne comptent encore

Pourquoi un fichier écrit sous Windows peut apparaître « entièrement modifié » dans git sous Linux.

Compter les caractères et les mots : pourquoi ce n'est pas toujours trivial

Pourquoi un emoji ou une lettre accentuée peut compter comme plusieurs caractères à la fois.

Lorem Ipsum : d'où vient ce texte de remplissage et à quoi il sert

Pourquoi les designers utilisent délibérément un texte « insensé » plutôt que du vrai contenu dans les maquettes.

Slugify : transformer un texte quelconque en URL

Comment un titre comme « Bonjour, le Monde ! » devient une chaîne compatible URL comme bonjour-le-monde.

Markdown : pourquoi une syntaxe texte simple a supplanté les éditeurs riches

Pourquoi les développeurs préfèrent écrire la documentation en Markdown plutôt que dans un éditeur de texte riche.

Espaces et caractères invisibles : la cause cachée de bugs étranges

Pourquoi deux chaînes qui semblent identiques peuvent ne pas correspondre à cause d'un caractère invisible.

Text Reverse : pourquoi « inverser un texte » est plus dur qu'il n'y paraît

Pourquoi une inversion naïve de chaîne peut transformer un emoji en octets inutilisables.

Analyse de fréquence de texte : pourquoi compter les répétitions de mots

Comment la fréquence des lettres dans un texte chiffré aide à casser les chiffrements par substitution les plus simples.