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
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
Saisissez le motif et définissez les options
Collez le texte à tester
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.
En un coup d'œil
| Entrée | texte |
|---|---|
| Fichiers multiples | Non |
| Où ça tourne | Dans votre navigateur - les fichiers ne sont jamais envoyés |
| Fonctionne hors ligne | Oui — une fois la page chargée |
| Tarif | Gratuit, 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.