Aller au contenu principal

Testeur d’expressions régulières

Évaluez une expression régulière sur un texte, ajustez ses options et visualisez les correspondances pour mettre au point votre motif plus facilement.

  • Presse-papiers
  • Export

Intégrer ce widget

Personnalisez le rendu, vérifiez l’aperçu puis copiez le code.

Aperçu

Type de code d’intégration

Code à copier

Responsive et redimensionné automatiquement par Bethemesh.

Expression

Cet outil vous a-t-il été utile ?

Comment fonctionne cet outil ?

Testez une expression régulière JavaScript sur un texte et examinez les correspondances complètes avec leur position de départ. Le motif et les options sont saisis séparément pour éviter de confondre la syntaxe de l’expression avec celle d’un littéral de code. L’évaluation reste dans votre navigateur. Elle se déroule dans un Worker distinct, avec un budget de deux secondes et une limite de 10 000 correspondances, afin de pouvoir interrompre une recherche trop coûteuse sans bloquer l’interface principale.

Le motif est transmis au constructeur RegExp du navigateur. Saisissez par exemple \d+ directement, sans les délimiteurs /.../ d’un littéral JavaScript et sans les doubles échappements d’une chaîne de code. Les options i, m, s ou u suivent les règles JavaScript disponibles dans votre navigateur. Une option inconnue, répétée ou incompatible avec une autre provoque une erreur.

Le testeur collecte les correspondances avec une recherche globale ; g est ajouté si vous ne l’avez pas indiqué. L’option y conserve son comportement de recherche attachée à la position courante : elle ne devient pas une recherche libre dans tout le texte. Les résultats correspondent au motif complet ; les groupes capturés ne sont pas détaillés dans cette interface.

Chaque ligne affiche un numéro de résultat, son texte et un indice entre crochets. Cet indice commence à zéro et compte les unités UTF-16 de JavaScript. Avec u, un emoji peut être reconnu comme une seule correspondance tout en occupant deux unités dans les indices du texte. Il ne faut donc pas interpréter ces positions comme un comptage universel de caractères visuels.

Le Worker est arrêté si le budget de deux secondes expire. Le temps comprend le démarrage de la recherche ; un dépassement ne prouve pas à lui seul une erreur de syntaxe. Les résultats sont aussi limités à 10 000 et un message indique la troncature. Modifier le texte, le motif ou les options annule l’affichage précédent ; une remise à zéro arrête la tâche en cours.

Comment utiliser cet outil ?

  1. Saisir le motif sans délimiteurs

    Placez l’expression dans son champ et les lettres d’options dans le champ distinct. Le texte source appartient à la grande zone de test, pas au motif.

  2. Tester sur un extrait représentatif

    Commencez avec peu de texte puis examinez valeurs et indices. En cas d’interruption, simplifiez les alternatives ou quantificateurs avant de retenter sur une entrée réduite.

  3. Réutiliser les observations

    Copiez ou téléchargez les correspondances textuelles et ajoutez des tests dans l’environnement où la Regex sera réellement exécutée. Le fichier exporté n’est pas un programme de remplacement.

Cas d'utilisation

Vérifier une extraction avant intégration

Essayez une expression sur un petit ensemble de lignes représentatives et contrôlez les positions. Le test ne réalise pas de remplacement et n’enregistre pas une règle dans votre projet.

Comparer des options de recherche

Observez l’effet d’une option comme i sur la casse ou m sur les ancres de ligne. Ne transposez pas automatiquement ces résultats dans un moteur PCRE ou SQL.

Reproduire un problème Unicode

Utilisez un exemple avec caractères supplémentaires pour distinguer le texte reconnu de son index JavaScript, notamment lorsque vous devez sélectionner une portion dans du code.

Exemples

Retrouver deux occurrences avec leurs indices

Le motif Ada avec g trouve les deux mots. Le premier commence à l’indice 0 et le second à 8 dans le texte Ada and Ada.

Entrée

{
  "pattern": "Ada",
  "flags": "g",
  "text": "Ada and Ada"
}

Résultat

1. Ada [0]
2. Ada [8]

Distinguer correspondance Unicode et indice UTF-16

Avec . et gu, 😀 forme une correspondance entière à l’indice 1. B commence à l’indice 3 parce que cet emoji occupe deux unités UTF-16.

Entrée

{
  "pattern": ".",
  "flags": "gu",
  "text": "A😀B"
}

Résultat

1. A [0]
2. 😀 [1]
3. B [3]

Conseils et bonnes pratiques

  • Gardez des cas sans correspondance : ils révèlent souvent les recherches excessivement coûteuses.
  • Les correspondances affichées ne se chevauchent pas automatiquement ; utilisez une construction adaptée si votre besoin exige des débuts superposés.
  • Une expression adaptée à un exemple ne constitue pas une validation complète d’e-mail, d’URL ou d’un format métier.
  • La sortie peut contenir des données sensibles extraites du texte : vérifiez-la avant de la partager.

Sources et références

Questions fréquentes

Dois-je coller /monmotif/g dans le champ Expression ?

Non. Saisissez monmotif dans Expression et g dans Options. Les barres obliques ne sont pas retirées automatiquement comme des délimiteurs de littéral JavaScript.

Pourquoi plusieurs résultats apparaissent-ils sans l’option g ?

Le testeur ajoute g pour collecter les occurrences. Il est conçu pour afficher une liste, pas pour reproduire un appel isolé à exec sans recherche globale.

Les groupes de capture sont-ils exportés ?

La sortie présente les correspondances complètes et leur indice de départ. Les groupes et leurs noms ne sont pas exposés séparément dans cette version.

Pourquoi une recherche est-elle interrompue ?

Elle a dépassé le budget de deux secondes. Certaines combinaisons de quantificateurs entraînent beaucoup de retours arrière. Réduisez le texte et simplifiez le motif ; le Worker est arrêté pour garder l’interface utilisable.

Ce test reproduit-il un moteur PCRE ou Python ?

Non. La syntaxe et les options sont celles de RegExp JavaScript dans votre navigateur. Les constructions, indices ou règles Unicode peuvent varier dans d’autres moteurs.

Outils associés

Des outils similaires ou complémentaires à celui-ci.

Outils similaires

Formatez du JavaScript, TypeScript ou JSX pour en faciliter la lecture, sans exécuter le code. Traitement local dans le navigateur.

DéveloppementUtiliser l’outil

Interrogez des données JSON avec une expression JSONPath simple.

DéveloppementUtiliser l’outil