Tester des expressions régulières JavaScript avec du texte d'exemple
Utilisez cet outil lorsque vous devez vérifier ce qu'une regex JavaScript correspond avant de l'intégrer dans du code frontend, Node.js ou TypeScript.
Collez le texte d'exemple, saisissez le motif sans barres obliques, choisissez les flags, puis consultez les correspondances, les groupes et l'aperçu du remplacement.
Ce que signifie chaque résultat
- Correspondances mises en surbrillance montre où le motif a correspondant dans le texte d'exemple.
- Correspondances et groupes énumère les plages de correspondance, les groupes numérotés et les groupes nommés.
- Aperçu du remplacement prévisualise JavaScript
String.replace()avec votre chaîne de remplacement. - Copier le JSON des correspondances copie les données structurées des correspondances. Copier le remplacement copie le texte de l'aperçu du remplacement.
- Copier l'URL copie le motif actuel, les flags, le remplacement et le texte d'exemple dans le fragment d'URL.
Flags pris en charge
| Flag | Name | Effect |
|---|---|---|
g | Global | Trouver toutes les correspondances au lieu de seulement la première. |
i | Ignorer la casse | Faire correspondre les lettres sans tenir compte de la casse. |
m | Multiline | Make ^ and $ fonctionnent par ligne. |
s | DotAll | Let . correspondre aux sauts de ligne. |
u | Unicode | Utiliser des règles de correspondance compatibles Unicode. |
y | Sticky | Correspondre uniquement à partir du dernierIndex JavaScript actuel lastIndex. |
Limits
- Ceci est un testeur JavaScript
RegExptesteur, pas un testeur d'expressions régulières PCRE, Python, Java, SQL ou .NET. - Le texte d'exemple et les correspondances collectées sont limités pour garder la page réactive.
- Certains motifs évidents avec quantificateurs imbriqués sont bloqués, mais il ne s'agit pas d'un analyseur complet ReDoS.
- JavaScript ne fournit pas de timeout synchrone pour une exécution de regex.
- Les fragments d'URL peuvent inclure le texte d'exemple collé. Supprimez les journaux privés ou les secrets avant de partager une URL copiée.
Questions fréquemment posées
Quelle syntaxe d'expression régulière cette page utilise-t-elle ?
Il utilise JavaScript RegExp syntaxe. Utilisez-la pour le travail sur regex dans le navigateur, Node.js et TypeScript. Les motifs écrits pour PCRE, Python, Java, SQL ou .NET peuvent se comporter différemment.
Pourquoi je ne vois qu'une seule correspondance ?
Ajoutez le g drapeau pour collecter toutes les correspondances. Sans g, JavaScript renvoie normalement la première correspondance.
Puis-je utiliser des groupes nommés dans les remplacements ?
Oui. Les groupes nommés tels que (?<level>ERROR|WARN) apparaissent dans les détails des correspondances et peuvent être réutilisés dans le texte de remplacement sous la forme $<level>.
Quelle est la différence entre Copier le JSON des correspondances et Copier le remplacement ?
Copier le JSON des correspondances copie les plages et les groupes sous forme de JSON. Copier le remplacement copie le texte produit par l'aperçu du remplacement.
Est-ce que cela peut détecter des motifs de backtracking dangereux ?
Partiellement seulement. L'outil bloque certains motifs évidents à quantificateurs imbriqués et limite la taille des entrées, mais ce n'est pas un analyseur complet ReDoS.