Tester une expression régulière

Testez une expression régulière et surlignez ce qui correspond. Le contenu des groupes et le résultat du remplacement s’affichent aussitôt.

Expression régulière et texte

Flags

0 caractères · 0 lignes

Résultat

Affichage

Saisissez une expression régulière et un texte : les correspondances seront surlignées.

Tout est traité sur cet appareil. Ce que vous saisissez n’est envoyé nulle part.

Utilise les expressions régulières de JavaScript (navigateur). La syntaxe peut légèrement différer de celle de Python, PHP, Java, etc.

Utile ? Un partage nous ferait plaisir

Quelque chose ne marche pas, ou une idée pour l’améliorer ?

Mode d’emploi

  1. 1. Saisir l’expression régulière

    Tapez ce que vous cherchez dans « Expression régulière ». Les symboles peu pratiques à taper, comme \d ou [ ], s’insèrent à l’emplacement du curseur en touchant les boutons sous la zone. Vous pouvez aussi partir d’un motif, comme une adresse e-mail ou une date, dans « Choisir un motif courant ». Touchez « Expliquer », en haut à droite de la zone, pour voir à quoi correspond chaque partie.

  2. 2. Saisir le texte

    Collez ou tapez le texte dans « Texte à tester » (touchez « Exemple » pour insérer un texte d’exemple). Les correspondances sont aussitôt surlignées dans « Résultat », en dessous, avec leur nombre.

  3. 3. Changer les flags et voir la liste

    Désactivez « g Toutes » dans « Flags » pour ne chercher que la première correspondance (réactivez-le pour toutes les chercher). La « Liste des correspondances », en dessous, affiche la position de chacune et le contenu de ses groupes ($1, <year>, etc.). Touchez une ligne pour sélectionner cet endroit dans le texte du dessus.

  4. 4. Extraire seulement les correspondances

    Choisissez « Extraire » au-dessus de « Résultat » : seules les correspondances s’affichent, une par ligne. Si l’expression a des groupes, choisissez par exemple <year> à la place de « Correspondance entière » dans la liste déroulante. Activez « Sans doublons » pour ne garder chaque valeur qu’une fois. « Copier l’extraction » copie le résultat, « Enregistrer en texte » l’enregistre dans un fichier.

  5. 5. Tester un remplacement et le copier

    Choisissez « Remplacer » au-dessus de « Résultat » et tapez par exemple $<day>/$<month>/$<year> dans « Remplacer par » : le texte remplacé s’affiche aussitôt. Touchez « Copier le résultat » pour le copier.

Idéal pour

  • Vérifier qu’une expression régulière fait ce qu’il faut

    Avant de la mettre dans votre code, voyez d’un coup d’œil, grâce aux couleurs, si elle trouve exactement ce que vous visez, et rien de plus. Une fois prête, choisissez un langage comme Python, PHP ou Go et copiez-la sous une forme à coller directement dans votre code.

    Développeurs web et personnes qui apprennent à programmer

  • Comprendre une expression écrite par quelqu’un d’autre

    Collez une expression trouvée dans du code repris ou un article, puis appuyez sur « Expliquer » : chaque partie est décrite en quelques mots, par exemple « Un chiffre, 4 fois ».

    Personnes qui lisent du code et personnes qui apprennent à programmer

  • Extraire des données au format fixe d’un journal ou d’un tableau

    Cherchez des adresses e-mail, des dates ou des numéros de commande, affichez-les une par ligne avec « Extraire », puis copiez-les ou enregistrez-les dans un fichier texte.

    Analystes de données et équipes support

  • Récupérer un seul groupe, sans doublons

    N’extrayez que la partie entre ( ), comme le domaine d’une adresse e-mail ou le nom d’hôte d’une URL. Avec « Sans doublons », même une liste pleine de répétitions se réduit à un exemplaire de chaque.

    Analystes de données et équipes web

  • Tester un remplacement avant de tout modifier

    Avant un remplacement en masse dans votre éditeur ou votre tableur, vérifiez le résultat obtenu avec $1 et consorts.

    Personnes qui mettent en ordre textes et tableaux

  • Écrire la validation d’un formulaire

    Mettez au point l’expression qui vérifie un code postal ou un numéro de téléphone en l’essayant sur toutes sortes de saisies.

    Personnes qui créent des formulaires

Bon à savoir

  • Utilise les expressions régulières de JavaScript. La syntaxe propre à Python, PHP, Java ou .NET (quantificateurs possessifs comme ++, (?i), etc.) n’est pas prise en charge.
  • Quand vous copiez pour un autre langage, les différences d’écriture sont corrigées dans la mesure du possible. Ce qui ne peut pas l’être (comme le lookbehind en Go) est signalé en une ligne : testez aussi l’expression dans ce langage.
  • Une expression trop lente est arrêtée au bout de 2 secondes, avec un message. Dans ce cas, réduisez les répétitions imbriquées.
  • La liste affiche les 300 premières correspondances, et les 5 000 premières sont surlignées et extraites (le total est toujours compté jusqu’au bout).

À propos du testeur d’expressions régulières

Une expression régulière décrit la forme d’un texte, comme « quatre chiffres à la suite » ou « des lettres et chiffres de part et d’autre d’un @ », avec de courts symboles comme \d{4} ou [\w.]+@[\w.]+. On s’en sert pour chercher, remplacer et valider dans de nombreux programmes et éditeurs, mais une petite erreur suffit pour qu’elle trouve autre chose que ce que vous visiez.

Cet outil teste l’expression avec le moteur JavaScript du navigateur à chaque frappe et surligne les correspondances. Il affiche aussi, pour chacune, le contenu des groupes (ce qui est entre ( )) et des groupes nommés ((?<nom>…)), pour vérifier que vous extrayez bien la bonne partie. Même les expressions qui ne finissent jamais, comme (a+)+, s’exécutent à part avec une limite de temps, pour que la page ne se fige pas.

Les flags comparés
Une fois activéIdéal pour
g (Toutes)Cherche toutes les correspondancesExtraire, tout remplacer
i (Ignorer la casse)Traite A et a comme la même lettreChercher des mots
m (Par ligne)^ et $ correspondent au début et à la fin de chaque ligneVérifier ligne par ligne, journaux
s (. et sauts de ligne). correspond aussi aux retours à la lignePassages sur plusieurs lignes
u (Unicode)Traite les emojis comme un caractère et permet \p{…}Textes avec accents, kanji ou emojis

Questions fréquentes

Les réponses aux questions qu’on se pose souvent en testant des expressions régulières.

Mon texte ou mon expression régulière sont-ils envoyés quelque part ?

Non. Tout est testé dans le navigateur de votre appareil : ni le texte ni l’expression ne sont envoyés à un serveur ou enregistrés. Vous pouvez l’utiliser même avec des journaux internes ou des textes contenant des données personnelles.

Quel moteur d’expressions régulières est utilisé ?

Celui de JavaScript (le RegExp du navigateur). Les groupes nommés (?<nom>…), le lookbehind (?<=…), \p{…} (avec le flag u) et d’autres sont pris en charge. La syntaxe peut différer dans le détail de Python, PHP, Java, etc. : si vous l’utilisez dans un autre langage, consultez aussi sa documentation.

Puis-je l’utiliser dans du code Python ou PHP ?

Oui. En haut à droite de la zone « Expression régulière », choisissez JavaScript, Python, PHP, Java, Ruby ou Go, puis appuyez sur le bouton de copie : l’expression est copiée sous forme de code pour ce langage. Les différences d’écriture sont corrigées, comme (?P<nom>…) en Python, \A et \z en Ruby ou (?i) en Go. Ce que le langage ne sait pas exprimer, comme le lookbehind en Go, est signalé en une ligne sous la zone. Le langage choisi est conservé pour la prochaine fois.

Puis-je coller une expression comme /abc/gi ?

Oui. Si vous collez /abc/gi alors que « Expression régulière » est vide, l’expression et les flags sont séparés automatiquement. À l’inverse, choisissez « JavaScript » en haut à droite de la zone et appuyez sur le bouton de copie : l’expression actuelle est copiée sous la forme /…/, prête à coller dans votre code JavaScript.

Puis-je vérifier ce que signifie une expression ?

Appuyez sur « Expliquer », en haut à droite de la zone « Expression régulière ». L’expression est découpée en parties, et chacune est listée avec ce à quoi elle correspond, par exemple « Un chiffre, 4 fois » ou « Groupe nommé year ». Le contenu des groupes est indenté, ce qui permet aussi de vérifier comment les parenthèses s’associent.

Puis-je obtenir la liste des seules correspondances ?

Choisissez « Extraire » : les correspondances s’affichent une par ligne. Si l’expression a des groupes, vous pouvez aussi ne prendre que cette partie ($1, <nom>). Avec « Sans doublons », chaque valeur n’apparaît qu’une fois ; vous pouvez ensuite copier la liste ou l’enregistrer dans un fichier texte. Si le flag g est désactivé, seule la première correspondance est extraite.

Où voir le contenu des groupes ?

Dans la « Liste des correspondances », à droite, le contenu de $1, $2… (ou <nom> pour les groupes nommés) est affiché pour chaque correspondance. Un groupe qui ne correspond à rien affiche « (aucune correspondance) ».

Que peut-on utiliser dans un remplacement ?

Choisissez « Remplacer », puis utilisez dans « Remplacer par » $1, $2… (groupes), $<nom> (groupes nommés), $& (la correspondance entière) et $$ (un $ littéral). Avec le flag g activé, toutes les correspondances sont remplacées ; sinon, seulement la première.

Le message « Arrêté, car c’était trop long » s’affiche

Les expressions avec des répétitions imbriquées, comme (a+)+ ou (.*)*, peuvent faire exploser le calcul sur un texte qui ne correspond pas (backtracking catastrophique). Pour que la page ne se fige pas, elles sont arrêtées au bout de 2 secondes. Regroupez les répétitions en une seule ou limitez les caractères acceptés, par exemple [^,]* au lieu de .*.

Comment chercher sans tenir compte de la casse ?

Activez « i Ignorer la casse » dans « Flags ». A et a, ou É et é, sont alors traités comme la même lettre.

^ et $ ne correspondent pas à chaque ligne

Par défaut, ^ et $ ne correspondent qu’au début et à la fin du texte entier. Pour qu’ils correspondent à chaque ligne, activez « m Par ligne » dans « Flags ».

Peut-on chercher des lettres accentuées ou d’autres alphabets ?

Oui. \w ne couvre que A–Z, 0–9 et _, donc ni é ni ç. Utilisez \p{L} (une lettre de n’importe quel alphabet) avec « u Unicode » activé. Pour les kanji, choisissez « Kanji (caractères chinois) » dans « Choisir un motif courant » : il utilise \p{Script=Han}, qui a besoin du flag u, donc u s’active tout seul.

Est-ce gratuit ?

Oui, c’est gratuit. Sans inscription, sans installation et sans publicité. Utilisez-le autant que vous voulez, quelle que soit la longueur du texte.