Correspondances

Ce testeur de regex applique des expressions régulières JavaScript à votre texte pendant la saisie, surligne chaque correspondance et liste sa position, ses groupes capturants et ses groupes nommés. L’onglet de remplacement montre en direct les substitutions avec $1 et $<nom>. Il utilise le moteur ECMAScript de votre navigateur, le même que Node.js et Chrome, et coupe les motifs qui s’emballent au bout d’une seconde.

Mode d’emploi

  1. Tapez un motif entre les barres obliques ou collez un littéral /motif/flags complet. Touchez un motif courant, comme E-mail ou IPv4, pour partir d’un modèle éprouvé.
  2. Activez des drapeaux : g trouve toutes les correspondances, i ignore la casse, m applique ^ et $ à chaque ligne, s fait correspondre le point aux sauts de ligne.
  3. Tapez ou collez le texte de test. Les correspondances sont surlignées pendant la saisie et listées dessous avec leur position et leurs groupes.
  4. Passez à Remplacer et utilisez $1, $<nom> ou $& pour voir le résultat en direct. Touchez une correspondance, un groupe ou le résultat pour le copier.
  • C’est le moteur regex JavaScript (ECMAScript) de votre navigateur, le même que Node.js, Chrome et Deno. Lookbehind, groupes nommés et classes Unicode \p{…} sont pris en charge.
  • La recherche tourne en arrière-plan et s’arrête après 1 seconde : un motif au backtracking catastrophique affiche une erreur au lieu de bloquer la page.
  • Dans le remplacement, \n et \t insèrent un saut de ligne ou une tabulation. $$ insère un signe dollar.
  • Activez le drapeau d pour voir les positions de début et de fin de chaque groupe.
  • Les liens partagés contiennent le motif et les drapeaux, jamais votre texte de test.

Les drapeaux qui changent tout

g trouve toutes les correspondances au lieu de la première, i ignore la casse, m fait agir ^ et $ à chaque saut de ligne, s permet au point d’inclure les sauts de ligne, u active l’Unicode complet et les classes \p{…}, y ne cherche qu’à lastIndex et d renvoie les indices de début et de fin de chaque groupe. Oublier g est la raison la plus fréquente pour laquelle un motif semble ne trouver qu’un résultat.

Lire un motif

\d correspond à un chiffre, \w à une lettre, un chiffre ou un tiret bas, \s à un blanc et \b à une limite de mot. Les quantificateurs répètent l’élément précédent : * c’est 0 ou plus, + 1 ou plus, ? 0 ou 1 et {2,4} de 2 à 4 fois. Un ? après le quantificateur le rend paresseux : <.+?> s’arrête au premier >. Les parenthèses capturent un groupe ; (?<annee>\d{4}) le nomme et (?:…) groupe sans capturer.

Les assertions avant (?=…) et (?!…) et arrière (?<=…) et (?<!…) vérifient ce qui suit ou précède sans le consommer. Par exemple, \d+(?= USD) trouve 120 dans 120 USD mais pas dans 120 EUR.

Éviter les motifs lents

Des quantificateurs imbriqués comme (a+)+ ou (.*)* peuvent revenir en arrière de façon exponentielle sur un texte presque conforme et bloquer un serveur : c’est le problème dit ReDoS. Ici, la recherche tourne en arrière-plan avec une limite d’une seconde, vous voyez donc une erreur au lieu d’un blocage. Préférez des classes précises comme [^,]* à .* et ancrez avec ^ et $ pour valider une valeur entière.

Questions fréquentes

Quelle variante de regex ce testeur utilise-t-il ?

JavaScript (ECMAScript), le moteur intégré à votre navigateur, identique à Node.js, Deno et TypeScript. L’essentiel de la syntaxe est commun avec PCRE, Python et Java, mais certaines fonctions comme les quantificateurs possessifs ou les groupes atomiques diffèrent.

Pourquoi ma regex ne trouve-t-elle qu’une correspondance ?

Le drapeau g (global) est désactivé. Sans g, JavaScript s’arrête à la première correspondance. Activez g pour toutes les surligner et les lister.

Comment utiliser les groupes dans un remplacement ?

Écrivez $1, $2, etc. pour les groupes numérotés, $<nom> pour les groupes nommés et $& pour la correspondance entière. $$ insère un signe dollar littéral.

Comment chercher un point ou un crochet littéral ?

Échappez-le avec une barre oblique inverse : \. trouve un point, \( une parenthèse et \[ un crochet. Dans une classe de caractères, la plupart des symboles sont littéraux : [.] trouve aussi un point.

Une regex peut-elle valider parfaitement une adresse e-mail ?

Non. Les règles complètes des RFC 5321 et 5322 sont trop larges et complexes pour un motif pratique. Utilisez une regex simple contre les fautes de frappe, puis confirmez l’adresse en envoyant un e-mail.

Mon texte de test est-il envoyé quelque part ?

Non. La recherche se fait dans votre navigateur. Les liens de partage ne contiennent que le motif et les drapeaux, jamais le texte testé.

Souvent utilisé avec

Mode d’emploi

Étapes

  1. Tapez un motif entre les barres obliques ou collez un littéral /motif/flags complet. Touchez un motif courant, comme E-mail ou IPv4, pour partir d’un modèle éprouvé.
  2. Activez des drapeaux : g trouve toutes les correspondances, i ignore la casse, m applique ^ et $ à chaque ligne, s fait correspondre le point aux sauts de ligne.
  3. Tapez ou collez le texte de test. Les correspondances sont surlignées pendant la saisie et listées dessous avec leur position et leurs groupes.
  4. Passez à Remplacer et utilisez $1, $<nom> ou $& pour voir le résultat en direct. Touchez une correspondance, un groupe ou le résultat pour le copier.

Raccourcis

EntréePasser du motif au texte de testCtrl + EntréeCopier toutes les correspondances ou le résultat

Bon à savoir

Fonctionne dans votre navigateur. Vos fichiers et textes ne quittent jamais votre appareil.