Tous les outils

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.