Testeur d'expressions régulières

Testez une expression régulière sur votre propre texte et affichez chaque correspondance avec sa position et ses groupes de capture. Passez en mode remplacer

🌍 Accès mondial 🔒 Confidentialité d'abord ⚡ Conversion instantanée 💯 Illimité
Advertisement

Saisissez un motif, collez votre texte et voyez chaque correspondance mise en évidence avec sa position et ses groupes de capture. Passez en mode remplacer pour réécrire le texte avec une substitution, ou en mode extraire pour sortir un groupe de capture ligne par ligne - la façon la plus rapide de vérifier un motif avant de l'intégrer au code.

Le moteur est la variante JavaScript des expressions régulières, celle qu'utilisent les navigateurs : le résultat correspond donc à ce que vous obtiendriez dans Node ou dans la console du navigateur, y compris les groupes nommés, les lookahead et les quantificateurs paresseux. Les options global, insensible à la casse, multiligne, dot-all et unicode sont disponibles, et un motif qui s'emballe est arrêté au lieu de figer l'onglet.

Comment tester une expression régulière

1

Saisissez le motif et définissez les options

2

Collez le texte à tester

3

Lisez les correspondances, ou utilisez les modes remplacer et extraire

Questions fréquentes

Quelle variante de regex est utilisée ?

JavaScript (ECMAScript), le même moteur que votre navigateur et Node.js. Les motifs écrits pour PCRE, Python ou Java peuvent nécessiter de petites adaptations - les quantificateurs possessifs et la récursion ne font pas partie de cette variante.

Pourquoi mon motif s'est-il figé ou arrêté ?

Un retour arrière catastrophique, généralement dû à des quantificateurs imbriqués comme (a+)+ face à une longue chaîne sans correspondance. L'outil s'arrête après un nombre fixe d'itérations pour protéger l'onglet ; simplifiez le motif ou ancrez-le.

Comment remplacer du texte ?

Passez en mode remplacer et saisissez la substitution. $1, $2 ou $<name> insèrent les groupes de capture : vous pouvez donc reformater des dates, échanger des champs ou nettoyer des journaux.

À quoi sert le mode extraire ?

Il produit un groupe de capture par ligne au lieu de la correspondance entière, ce qui est exactement ce qu'il faut pour extraire des adresses e-mail, des URL ou des identifiants d'un bloc de texte.

Les sauts de ligne fonctionnent-ils dans mon motif ?

Uniquement avec les options multiligne ou dot-all. Par défaut, . ne correspond pas à un saut de ligne, ce qui explique souvent qu'un motif fonctionne sur une ligne mais échoue sur un paragraphe.

Mon texte est-il envoyé ?

Non, la recherche s'exécute localement - utile lorsque le texte contient de vraies données de journal ou des informations client.

Advertisement

En un coup d'œil

Entréetexte
Fichiers multiplesNon
Où ça tourneDans votre navigateur - les fichiers ne sont jamais envoyés
Fonctionne hors ligneOui — une fois la page chargée
TarifGratuit, sans inscription, sans filigrane

Où les conversions cassent sans bruit

La plupart des bugs de conversion ne portent pas sur la syntaxe mais sur le sens. Une colonne CSV de codes postaux perd ses zéros initiaux dès qu'un tableur devine qu'il s'agit d'un nombre ; un identifiant long dépasse la précision des nombres à virgule flottante ; les dates changent de sens selon qu'elles sont au format jour-mois ou mois-jour. Les clés JSON ne sont pas ordonnées, mais les tableaux le sont, et un outil qui trie les clés ne change rien tandis qu'un outil qui trie les tableaux modifie les données. L'Unicode est un autre piège : le texte peut arriver en UTF-8, en UTF-16 ou avec un BOM, et un décodeur qui se trompe transforme les caractères accentués en mojibake. Avant de faire confiance à une conversion, vérifiez par échantillon la première et la dernière ligne, tout champ à zéros initiaux et tout champ contenant des guillemets, des virgules ou des retours à la ligne.

Choisir un format de données

Le JSON est la valeur par défaut pour tout ce qu'une API renvoie ou qu'un programme lit : il gère naturellement les structures imbriquées, les nombres, les booléens et null, et tous les langages le lisent. Le CSV est plus léger et s'ouvre directement dans un tableur, mais il ne permet pas d'exprimer l'imbrication et n'a aucune norme partagée pour le séparateur, les guillemets ou le jeu de caractères - et c'est exactement là que les conversions se cassent. Le XML est verbeux mais porte des attributs, du contenu mixte et des schémas, ce qui le rend encore dominant dans les formats documentaires et les intégrations anciennes. Le YAML est le plus lisible pour la configuration, mais il est sensible aux espaces et réserve des conversions de type surprenantes (« no » devient false, une version comme 1.10 devient 1.1). Choisissez le format que l'outil de destination préfère, pas celui qui est le plus joli à lire.