Testeur d'expressions régulières

Testez une expression régulière JavaScript sur votre texte et voyez chaque correspondance et chaque groupe de capture, dans votre navigateur.

Fonctionne entièrement dans votre navigateur. Rien n'est envoyé, journalisé ni conservé.

Sans les barres obliques qui l'entourent.
Parmi g i m s u y d v.

Surlignage


    

Écrivez un motif, collez le texte qu'il est censé reconnaître, et voyez immédiatement ce qu'il attrape et ce qu'il rate, chaque groupe de capture étant détaillé.

Comment ça marche

Le motif est compilé par votre navigateur et exécuté sur le texte au fur et à mesure de la frappe. Ce que vous voyez est exactement ce que fera la même expression en JavaScript, puisque c'est le même moteur.

Avec le drapeau g, toutes les correspondances sont listées ; sans lui, seule la première. Le drapeau i ignore la casse, m fait correspondre ^ et $ en début et fin de ligne, s permet au point de correspondre à un saut de ligne, u active le mode Unicode et y ancre la recherche au dernier index.

Les groupes de capture numérotés apparaissent dans l'ordre ; un groupe écrit sous la forme (?<nom>...) est affiché sous son nom.

Exemples

Cas Saisie Résultat
Une date ISO, découpée en ses composants (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) année, mois et jour en groupes nommés
Tous les hashtags d'un message #\w+ une correspondance par hashtag, avec le drapeau g

Questions fréquentes

De quelle variante d'expressions régulières s'agit-il ?

JavaScript, tel que l'implémente votre navigateur. PCRE, utilisé par PHP et grep -P, et RE2, utilisé par Go, diffèrent sur les recherches arrière, les quantificateurs possessifs et les échappements de propriétés Unicode. Un motif qui fonctionne ici n'est pas garanti de fonctionner ailleurs.

La page s'est figée pendant que je tapais un motif.

Certains motifs provoquent un retour arrière catastrophique sur certaines entrées : les quantificateurs imbriqués comme (a+)+ en sont le cas d'école. La recherche sur l'ensemble du texte est bornée et abandonne avec un avertissement, mais une correspondance unique qui s'emballe ne peut être interrompue par rien dans la page : JavaScript n'offre aucun moyen d'arrêter une expression régulière une fois lancée. Rechargez l'onglet, et voyez-y un diagnostic plutôt qu'un accident : la même expression sur un serveur emporterait un processus avec elle.

Dois-je inclure les barres obliques ?

Non. Écrivez le motif seul et mettez les drapeaux dans le champ prévu. Coller /abc/gi comme motif rend les barres obliques partie intégrante de ce que vous cherchez.

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

Non, et il est délibérément exclu du lien partageable. Copier le lien partage le motif et les drapeaux, jamais le texte sur lequel vous avez testé.

Bon à savoir

  • Les motifs ne sont jamais exécutés sur le serveur. Une expression fournie par un visiteur et sujette à un retour arrière catastrophique y constituerait un déni de service ; dans un onglet, elle ne coûte que l'onglet.

Sources

Tous les outils Code