Comment utiliser : Testeur d’expressions régulières
- Saisissez votre motif entre les barres obliques, ou choisissez-en un dans la liste des « Motifs courants ». Vous pouvez également coller un littéral complet tel que
/\d+/g. - Activer/désactiver les filtres tels que
g(toutes les correspondances),i(ne pas tenir compte de la casse) oum(plusieurs lignes). - Collez votre texte dans le champ « Chaîne de test » : chaque occurrence est mise en évidence au fur et à mesure que vous tapez.
- Consultez l'onglet « Correspondances » pour voir les positions et les groupes de capture, ou ouvrez la fenêtre « Remplacer » pour prévisualiser une substitution.
- Cliquez sur « Copier » pour récupérer l'expression régulière sous la forme
/pattern/flags; le motif et les indicateurs sont également conservés dans l'URL de la page afin de pouvoir être partagés.
Qu'est-ce qu'un testeur d'expressions régulières ?
Une expression régulière (regex) est un langage de motifs compact permettant de rechercher et de transformer du texte : validation d’un champ d’e-mail, extraction d’identifiants à partir de journaux, renommage de fichiers ou nettoyage de données. Étant donné qu’un seul caractère peut modifier ce à quoi un motif correspond, l’écriture d’expressions régulières par essais et erreurs au sein de votre code est un processus lent. Un testeur d’expressions régulières vous montre instantanément ce à quoi correspond un motif, quels groupes de capture il remplit et quel serait le résultat d’un remplacement.
Ce testeur utilise le moteur d’expressions régulières JavaScript (ECMAScript) intégré à votre navigateur ; les résultats correspondent donc exactement à ce que String.prototype.match, matchAll, replace et RegExp.test vous donne dans Chrome, Firefox, Safari, Node.js et Deno. Les expressions sont exécutées dans un worker en arrière-plan avec une limite de temps, ce qui empêche une expression qui s’emballe de bloquer la page.
Indicateurs d’expressions régulières JavaScript
| Indicateur | Nom | Effet |
|---|---|---|
g | global | Recherche toutes les occurrences au lieu de s'arrêter à la première. |
i | ignoreCase | /abc/i correspond à « ABC ». |
m | multiline | ^ et $ recherche au début et à la fin de chaque ligne. |
s | dotAll | . correspond également aux sauts de ligne. |
u | unicode | Considère les paires de caractères de substitution (émojis) comme un seul caractère et active les \p{…} les échappements de propriétés. |
y | sticky | Ne correspond qu’aux lastIndex — utile lors de l’écriture de tokeniseurs. |
Groupes de capture, groupes nommés et remplacements
Les parenthèses capturent le texte qu’elles font correspondre. Dans (\d{4})-(\d{2}) le groupe 1 correspond à l’année et le groupe 2 au mois. Les groupes nommés rendent les motifs auto-documentés : (?<year>\d{4}) est disponible sous forme match.groups.year dans le code et sous la forme $<year> dans une chaîne de remplacement. Par exemple, le remplacement de (?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2}) par $<d>/$<m>/$<y> donne 2026-10-25 en 25/10/2026. Utilisez (?:…) lorsque vous avez besoin d’un regroupement sans capture.
Retour en arrière catastrophique
Les motifs comportant des quantificateurs imbriqués, tels que (a+)+$ ou (\w+\s?)*$ peuvent prendre un temps exponentiel sur une entrée qui correspond presque — une cause classique de blocage des navigateurs et de vulnérabilités ReDoS sur les serveurs. Si un motif s’exécute pendant plus de 1,5 seconde dans ce cas, il est interrompu et signalé. Corrigez cela en rendant les alternatives mutuellement exclusives, en remplaçant .* par une classe négative telle que [^"]*, ou en ancrant le motif.
Conseils pour des modèles fiables
- Ancrer les modèles de validation avec
^…$, sinon\d{5}« valide » égalementabc123456. - Échappez les métacaractères littéraux :
\.\?\(\[\$. - Préférez les classes spécifiques à
.*; elles sont plus rapides et correspondent mieux à ce que vous souhaitez. - Les expressions régulières ne sont pas adaptées aux formats imbriqués tels que le HTML ou le JSON — utilisez un analyseur syntaxique (ou notre formateur JSON).
- Vous souhaitez comparer le texte avant et après un remplacement systématique ? Collez les deux dans le Diff Checker.
Aussi recherché comme : expression régulière, regexp, outil de test d’expressions régulières, vérificateur d’expressions régulières, alternative à regex101, expressions régulières en javascript, correspondance d’expression régulière, remplacement par expression régulière.
Outils complémentaires : Testeur d’expressions régulières
- JavaScript Formatter — Unminify and pretty-print JavaScript, JSON or JSX with your preferred indentation and brace style — or strip whitespace and comments with a verified minifier.
- URL Encode / Decode — Percent-encode text for safe use in URLs, decode encoded strings back to readable text, and break any URL down into its parts and query parameters.
- Slug Generator — Convert any title into a clean, lowercase URL slug — with proper transliteration of accents, umlauts and Cyrillic, optional stop-word removal and a bulk mode for whole lists.
- Remove Duplicate Lines — Paste a list to remove duplicate lines instantly.
Questions fréquentes
Quelle variante d’expressions régulières ce testeur utilise-t-il ?
\A/\Z d’ancrages ni de modificateurs en ligne tels que (?i).Pourquoi mon motif ne trouve-t-il qu’une seule correspondance ?
g indicateur (global), JavaScript s'arrête à la première correspondance. Activez-le g pour les trouver toutes — l'outil de test vous le rappelle également lorsqu'il est désactivé.Comment effectuer une recherche sur plusieurs lignes ?
m indicateur afin que ^ et $ traiter ligne par ligne, et le s indicateur (ou [\s\S]) si . doit également correspondre aux caractères de fin de ligne.Mon texte de test est-il enregistré ou mis en ligne ?
Quelle est une bonne expression régulière pour valider les adresses e-mail ?
^[^\s@]+@[^\s@]+\.[^\s@]+$ (ou le préréglage « Adresse e-mail »). Les modèles entièrement conformes à la norme RFC 5322 sont extrêmement longs et ne permettent toujours pas de savoir si la boîte mail existe — envoyez un e-mail de confirmation pour le vérifier.