Testeur d'expressions régulières
Texte de correspondance de modèle d'expressions régulières pour la validation, la recherche-remplacement et l'analyse des journaux. Testez les modèles avec mise en évidence en direct avant de passer au code de production : évitez les surprises catastrophiques de retour en arrière lors des entrées de l'utilisateur.
Pattern
Flags
Test text
Output
[0] Hello
[6] world
[12] 123
Comment tester une regex
1. Entrez le modèle d'expression régulière (sans barres obliques extérieures ou avec des indicateurs).
2. Définir les indicateurs : g global, i insensible à la casse, m multiligne.
3. Collez un exemple de texte dans la zone de chaîne de test.
4. Examinez les correspondances, capturez des groupes et remplacez l'aperçu si disponible.
Exemples d'expressions régulières
Validation par e-mail
^[\\w.-]+@[\\w.-]+\\.\\w+$ capture les e-mails simples - pas parfait pour RFC mais utile pour les formulaires.
Extraire les dates ISO
\\d{4}-\\d{2}-\\d{2} trouve le 15/03/2024 dans les lignes de journal pour le remplacement de grep.
Assistant Slugify
Remplacez [^a-z0-9]+ par un trait d'union pour le slug d'URL de la chaîne de titre.
Quand l'expression régulière aide
• Lors de la validation de chaînes structurées (téléphone, code postal).
• Lors de l'analyse des journaux semi-structurés.
• Lors de l'apprentissage, capturez des groupes et anticipez.
Quand éviter les regex
• Lors de l'analyse de HTML ou JSON, utilisez les analyseurs appropriés.
• Lorsque l'expression régulière devient illisible, divisée en logique de code.
• En cas de risque ReDoS sur les modèles fournis par l'utilisateur sur le serveur : délai d'expiration et longueur limite.
Sensibilisation au ReDoS
Les quantificateurs imbriqués comme (a+)+ sur la chaîne maléfique bloquent le processeur : évitez les expressions régulières utilisateur sur le serveur ou utilisez des moteurs sécurisés avec des délais d'attente.
Valider vs extraire
Le modèle ancré ^...$ valide la chaîne entière ; non ancré trouve une sous-chaîne n'importe où.
Remplacer dans les éditeurs
VS Code utilise une expression régulière JS similaire dans la recherche-remplacement — testez ici puis collez le modèle.
Questions fréquentes
Quelle saveur de regex ?
JavaScript RegExp — Des différences PCRE existent (la prise en charge de lookbehind varie selon la version du moteur).
Drapeau mondial g ?
Trouve toutes les correspondances, pas seulement en premier — testStateful avec lastIndex dans JS.
Échapper aux caractères spéciaux ?
. * + ? [ ] ( ) { } | \\ ^ $ doit s'échapper pour une correspondance littérale.
Capturer des groupes ?
Les parenthèses ( ) créent des groupes numérotés accessibles en remplacement de $1 $2.
Locale?
Oui.
Multiligne ^ $?
L'indicateur m fait que ^ $ correspond aux limites de la ligne et non à la chaîne entière.