Testeur Regex

Tendance 🔥

Tester les expressions régulières en direct

Outils développeur

Comment utiliser Testeur Regex

  1. 1Entrez votre expression régulière
  2. 2Sélectionnez les drapeaux (g, i, m, s, u)
  3. 3Collez le texte de test
  4. 4Les correspondances sont surlignées en temps réel

À propos de Testeur Regex

Testeur de regex fournit un environnement en temps réel pour écrire, tester et déboguer des expressions régulières. Entrez votre modèle et votre chaîne de test, et toutes les correspondances sont surlignées instantanément pendant que vous tapez — pas besoin d'exécuter du code ou de recharger une page.

Les groupes de capture sont affichés séparément pour que vous puissiez inspecter exactement ce que chaque groupe a correspondus. Le testeur utilise le moteur JavaScript natif RegExp, qui est le même moteur utilisé dans Node.js et tous les principaux navigateurs.

Les modèles qui fonctionnent ici fonctionneront directement dans votre code JavaScript ou TypeScript.

Fonctionnalités clés de Testeur Regex

  • Surbrillance des correspondances en temps réel pendant que vous tapez le modèle
  • Affiche toutes les correspondances et leurs positions de début/fin
  • Affiche les groupes de capture et groupes nommés séparément
  • Prend en charge les drapeaux : g (global), i (insensible à la casse), m (multiline), s (dotAll), u (unicode)
  • Nombre de correspondances affiché en évidence
  • Fonctionne entièrement dans le navigateur en utilisant JavaScript RegExp
  • Sidebar d'explication de modèle pour comprendre chaque partie du regex
  • Compatible avec Node.js et tous les principaux runtimes JavaScript

Exemples

Valider un format d'adresse email

Tester un modèle regex qui correspond aux formats d'adresse email standard.

Entrée

Modèle: ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$ | Test: user@example.com et invalid-email

Sortie

user@example.com — 1 correspondance | invalid-email — 0 correspondance

Extraire toutes les URL d'un bloc de texte

Utiliser un modèle global pour trouver toutes les URL HTTP/HTTPS dans une chaîne de texte.

Entrée

Modèle: https?://[^\s]+ (avec drapeau g) | Test: texte contenant plusieurs URL

Sortie

Toutes les URL surlignées, chacune affichée comme une correspondance séparée

Cas d'utilisation courants

  • Test et itération sur les modèles de validation d'entrée (email, téléphone, code postal)
  • Construction de modèles d'analyse de journaux pour extraire des données structurées des lignes de journal
  • Écriture de modèles de recherche et remplacement pour les éditeurs de code et les scripts
  • Apprentissage de la syntaxe des expressions régulières de manière interactive avec un retour immédiat
  • Débogage des modèles regex qui se comportent différemment que prévu dans le code
  • Extraction de champs spécifiques à partir de texte structuré comme des lignes CSV ou des lignes de configuration

Dépannage

Le modèle ne correspond à rien mais semble correct

Solution

Vérifiez que le drapeau global (g) est défini si vous attendez plusieurs correspondances. Sans le drapeau g, JavaScript ne trouve que la première correspondance.

Les barres obliques inversées dans le modèle ne fonctionnent pas

Solution

Dans les littéraux regex JavaScript, \d, \w, \s sont valides. Si vous collez depuis un littéral de chaîne qui utilisait des doubles barres obliques inversées, retirez la barre oblique inversée supplémentaire.

Regex cause le gel ou la non-réponse du navigateur

Solution

Un backtracking catastrophique peut se produire avec certains modèles — par exemple, des quantificateurs imbriqués comme (a+)+ sur une entrée non correspondante. Simplifiez le modèle ou testez avec des chaînes plus courtes.

Questions fréquemment posées

Quel moteur regex est utilisé ?

L'outil utilise le moteur JavaScript natif RegExp, compatible avec les lookaheads, lookbehinds, groupes de capture nommés et séquences d'échappement de propriété Unicode.

Quels drapeaux sont pris en charge ?

Global (g), insensible à la casse (i), multiline (m), dotAll (s) pour faire correspondre . aux sauts de ligne, et unicode (u) pour le support Unicode complet.

Comment faire correspondre un saut de ligne ?

Utilisez \n pour faire correspondre un caractère de saut de ligne. Activez le drapeau dotAll (s) pour que . corresponde également aux sauts de ligne.

Que sont les groupes de capture ?

Les groupes de capture sont des portions d'un modèle regex entre parenthèses. Par exemple, (\d{4})-(\d{2})-(\d{2}) sur "2023-11-14" capture "2023", "11" et "14".

Quelle est la différence entre un quantificateur gourmand et paresseux ?

Les quantificateurs gourmands (+, *) correspondent autant que possible. Les quantificateurs paresseux (+?, *?) correspondent aussi peu que possible.

Puis-je tester des modèles avec des caractères Unicode ?

Oui. Activez le drapeau unicode (u) pour utiliser les séquences d'échappement de propriété Unicode comme \p{Letter}.

Mes données sont-elles envoyées à un serveur ?

Non. Toute la correspondance regex est effectuée localement dans votre navigateur. Vos modèles et chaînes de test ne quittent jamais votre appareil.

Puis-je utiliser ce regex dans d'autres langages de programmation ?

JavaScript RegExp est similaire mais pas identique à Python, Java ou PCRE. Les fonctionnalités de base sont largement compatibles ; la syntaxe spécifique au langage nécessite un ajustement.