Testeur regex

Testez des motifs sur du texte réel, directement dans votre navigateur.

Correspondances

  
#TypeValeurPosition

Fonctionne dans votre navigateur. Rien de ce que vous tapez n'est envoyé nulle part.

Comment tester une expression régulière

  1. Tapez ou collez votre motif et choisissez les drapeaux voulus.
  2. Collez le texte sur lequel tester la correspondance.
  3. Consultez les correspondances surlignées, le tableau des groupes, ou prévisualisez un remplacement.

Référence rapide de la syntaxe regex

MotifCorrespond à
\dN'importe quel chiffre, de 0 à 9
\wN'importe quelle lettre, chiffre ou caractère _
\sN'importe quel caractère d'espacement
+Un ou plusieurs du token précédent
*Zéro ou plusieurs du token précédent
?Zéro ou un, ou rend un quantificateur paresseux
^ et $Début et fin de la chaîne ou de la ligne

Fonctionnalités regex de JavaScript

FonctionnalitéSyntaxeRemarque
Groupes nommés(?<name>...)Pris en charge depuis ES2018
Lookbehind(?<=...) et (?<!...)Pris en charge depuis ES2018
Mode Unicodedrapeau uNécessaire pour les échappements de propriété Unicode comme \p{Letter}
Insensible à la cassedrapeau iMême principe que dans la plupart des autres langages

Conseils pour écrire des motifs

  • Échappez les caractères spéciaux comme . ( ) [ ] avec un antislash quand vous voulez le caractère littéral.
  • Utilisez un groupe non capturant (?:...) pour regrouper quand vous n'avez pas besoin de référencer cette correspondance plus tard.
  • Les quantificateurs gourmands capturent le plus possible. Ajoutez un ? après l'un d'eux, comme +?, pour une correspondance paresseuse qui s'arrête au premier point possible.
  • Testez avec des cas limites, comme une chaîne vide ou des espaces en trop, pas seulement le texte que vous attendez de faire correspondre.

FAQ Testeur regex

Pourquoi mon motif a-t-il arrêté de répondre ?

Certains motifs peuvent revenir en arrière de façon exponentielle sur certains textes. La correspondance s'exécute dans un worker en arrière-plan avec une limite de 1,5 seconde, donc un motif emballé est arrêté au lieu de figer l'onglet.

Que signifient les drapeaux ?

g trouve chaque correspondance au lieu de seulement la première, i ignore la casse, m fait correspondre ^ et $ ligne par ligne, s permet au point de capturer les retours à la ligne, u active le mode Unicode complet, y ancre la correspondance au dernier index, et d ajoute les positions de début et de fin de chaque correspondance.

Le champ de remplacement modifie-t-il mon texte de test ?

Non. Il affiche ce que String.replace produirait dans une zone de résultat séparée, donc le texte de test que vous avez tapé reste exactement tel quel.

Les groupes de capture nommés sont-ils pris en charge ?

Oui. Écrivez un groupe comme (?<name>...) et son nom apparaît à côté du numéro du groupe dans le tableau des correspondances.

Mon texte est-il envoyé quelque part ?

Non. La correspondance s'exécute dans un worker à l'intérieur de votre propre onglet, et rien de ce que vous tapez ne quitte la page.

Quelle variante de regex est utilisée ici ?

Le moteur RegExp JavaScript natif de votre navigateur, le même qui exécute vos motifs si vous construisez une application web ou un script Node.js.

Qu'est-ce que le retour en arrière catastrophique ?

C'est quand un motif avec des groupes répétés imbriqués, comme (a+)+b, peut prendre un temps exponentiellement plus long pour échouer à mesure que l'entrée grandit d'un seul caractère. La limite de 1,5 seconde du worker attrape ce genre de motif avant qu'il ne fige la page.

^ et $ peuvent-ils correspondre au début et à la fin de chaque ligne, pas juste de la chaîne entière ?

Oui, activez le drapeau m (multiligne). Sans lui, ^ et $ ne correspondent qu'au tout début et à la toute fin de l'ensemble du texte de test.

Outils similaires