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
- Formateur JavaScript — Rendez lisible du JavaScript, JSON ou JSX avec l'indentation et le style d'accolades de votre choix, ou supprimez espaces et commentaires avec un minifieur vérifié.
- Encodage / décodage URL — Encodez du texte en pourcentage pour l'utiliser en toute sécurité dans une URL, décodez les chaînes encodées pour retrouver un texte lisible, et décomposez n'importe quelle URL en ses parties et ses paramètres de requête.
- Générateur de slug — Convertissez n'importe quel titre en slug URL propre, en minuscules, avec une translittération correcte des accents, des umlauts et du cyrillique, une suppression facultative des mots vides et un mode en masse pour traiter des listes entières.
- Supprimer les lignes en double — Collez une liste pour supprimer instantanément les lignes en double.
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.