Éditeur
En attente de saisie ou d'exécution de regex…
Actions
Pourquoi utiliser ce testeur d'expressions régulières
- Correspondance en temps réel avec un mode "en direct" optionnel pour réexécuter au fur et à mesure de la saisie
- Liste de correspondances structurée avec index de début, index de fin, valeur et groupes de capture nommés
- Prise en charge complète de la syntaxe RegExp JavaScript/ECMAScript (même moteur que votre environnement d'exécution JS)
- Contrôles des drapeaux : g, i, m, s, u, y – combinez et expérimentez en toute sécurité
- Aperçu des performances de base avec le temps d'exécution par test en millisecondes
- Sortie de résumé en texte uniquement pour une copie/colle rapide dans les tickets, docs ou messages de commit
- Excellent pour l'apprentissage : prototypage de motifs sans exécuter un projet complet ou une suite de tests
- Idéal pour les tâches quotidiennes : analyse de logs, validation, extraction d'URL/ID, nettoyage rapide de données
- La liste des résultats est légèrement limitée pour éviter le gel de l'interface lors de la correspondance avec de grands textes
🔧 Comment utiliser le testeur d'expressions régulières for regex-tester
1. Collez ou tapez votre texte de test
Ajoutez le texte que vous voulez parcourir : logs, extraits, fragments CSV, HTML, JSON, tout ce qui est en texte brut.
2. Écrivez votre motif d'expression régulière
Entrez l'expression régulière **sans les barres obliques environnantes**. Par exemple : <code>\b\w+@\w+\.\w+</code> pour un motif de type email basique, ou <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code> avec des groupes nommés.
3. Définissez les drapeaux (g, i, m, s, u, y)
Activez les drapeaux comme <code>g</code> (global), <code>i</code> (insensible à la casse) ou <code>m</code> (multiligne). En arrière-plan, le testeur construit <code>new RegExp(pattern, flags)</code> exactement comme le fait JavaScript.
4. Inspectez les correspondances et groupes
Examinez chaque correspondance avec son index, l'index de fin optionnel et les groupes de capture. Les groupes nommés apparaissent sous forme de carte de type JSON pour que vous puissiez les copier dans des fixtures de test, analyseurs ou documentation.
5. Copiez le résumé
Utilisez le résumé texte comme rapport rapide : il liste les correspondances avec indices et groupes, prêt à coller dans les tickets, commentaires de revue de code ou aide-mémoire.
Syntaxe des expressions régulières & détails du moteur
Classes de caractères & bases
Blocs de construction de base pris en charge par le moteur RegExp de JavaScript.
| Motif | Signification | Exemple |
|---|---|---|
| . | N'importe quel caractère sauf les sauts de ligne (sauf si le drapeau <code>s</code> est activé) | <code>a.c</code> → correspond à <code>abc</code> |
| \d, \w, \s | Chiffres, caractères de mot, espace blanc | <code>\d+</code> → <code>123</code> |
| \D, \W, \S | Versions négatives des précédents | <code>\S+</code> → séquences sans espace blanc |
| [abc] | Ensemble de caractères | <code>[aeiou]</code> → une seule voyelle |
| [^abc] | Ensemble négatif | <code>[^0-9]</code> → non-chiffre |
| ^, $ | Début et fin de l'entrée (ou de la ligne avec <code>m</code>) | <code>^Hello</code>, <code>!$</code> |
Quantificateurs
Répétition des jetons précédents, avec comportement gourmand et paresseux.
| Modèle | Signification | Exemple |
|---|---|---|
| ? | 0 ou 1 fois | <code>colou?r</code> → correspond à <code>color</code> et <code>colour</code> |
| * | 0 ou plus | <code>a*b</code> → <code>b</code>, <code>aaab</code> |
| + | 1 ou plus | <code>\d+</code> → <code>1</code>, <code>123</code> |
| {n} | Exactement n | <code>a{3}</code> → <code>aaa</code> |
| {n,} | Au moins n | <code>\d{3,}</code> → <code>123</code>, <code>1234</code> |
| {n,m} | Entre n et m | <code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code> |
Groupes, Regards & Captures Nommées
Fonctionnalités plus avancées fournies par les moteurs JavaScript modernes.
| Fonctionnalité | Syntaxe | Exemple |
|---|---|---|
| Groupes de capture | (...) | <code>(\d{3})-(\d{2})</code> → indicatif + suffixe |
| Groupes non capturants | (?:...) | <code>(?:https?|ftp)://</code> |
| Références arrière | \1, \2, ... | <code>(\w)\1</code> → <code>aa</code>, <code>bb</code> |
| Regards avant | (?=...), (?!...) | <code>\w+(?=! )</code> → mot avant <code>! </code> |
| Regards arrière* | (?<=...), (?<!...) | <code>(?<=#)\w+</code> → texte après <code>#</code> (*dans les moteurs modernes) |
| Groupes nommés | (?<nom>...) | <code>(?<année>\d{4})</code> → <code>groupes.année</code> dans les résultats |
Drapeaux (Options)
Les drapeaux du testeur correspondent directement aux drapeaux RegExp de JavaScript.
| Drapeau | Nom | Effet |
|---|---|---|
| g | Global | Trouver toutes les correspondances au lieu de seulement la première |
| i | Ignorer la casse | Correspondance insensible à la casse |
| m | Multiligne | <code>^</code> et <code>$</code> correspondent aux limites de ligne |
| s | DotAll | <code>.</code> correspond également aux sauts de ligne |
| u | Unicode | Active le mode Unicode et les échappements de propriété dans les moteurs modernes |
| y | Collant | Correspond uniquement à l'index actuel (utilisé avec <code>lastIndex</code>) |
Performance et Sécurité
Le moteur JavaScript sous-jacent exécute les regex de manière synchrone. Pour maintenir l'interface réactive, le testeur limite le nombre de correspondances collectées (par exemple, les 500 premiers résultats en mode global). Cela aide à éviter de submerger l'interface, mais ne remplace pas les audits de performance complets pour les motifs complexes ou critiques.
Outils Regex en Ligne de Commande
Une fois que votre motif fonctionne ici, vous pouvez réutiliser la même regex ou une similaire dans votre terminal, scripts ou travaux CI :
Linux / macOS
Rechercher avec grep (regex étendue)
grep -E 'pattern' file.txtTrouver les lignes correspondant à un motif donné
Rechercher et remplacer avec sed
sed -E 's/pattern/replacement/g' input.txt > output.txtSubstitutions par lots dans les fichiers texte
Windows / PowerShell
Recherche regex PowerShell
Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txtTrouver des motifs SSN de style américain dans les fichiers journaux (exemple)
Remplacement regex PowerShell
(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txtRemplacements simples basés sur des regex
Applications Pratiques des Regex
Développement Web et Frontend
- Valider les emails, noms d'utilisateur, slugs ou identifiants personnalisés dans les formulaires
- Extraire les paramètres de route des URLs ou chemins
- Prototyper rapidement des motifs pour la validation côté client
// Basic email-like validation
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);// Route params: /post/123
const match = pathname.match(/^\/post\/(\d+)/);Journaux, Données et Backend
- Analyser les horodatages et niveaux des lignes de journal
- Normaliser les espaces et nettoyer le texte désordonné
- Extraire les identifiants, emails ou références du contenu non structuré
// Collapse repeated whitespace
const normalized = text.replace(/\s+/g, ' ').trim();// Simple log line matcher
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);Nettoyage de Données et Scripts Rapides
- Supprimer les balises ou attributs HTML indésirables avant l'analyse
- Extraire toutes les URLs, emails ou identifiants d'un long bloc de texte
- Préparer les champs de jeu de données pour l'importation dans un autre système
❓ Frequently Asked Questions
❓Pourquoi mon regex ne correspond à rien ?
., ?, +), 2) Oublier le drapeau g lorsqu'on s'attend à plusieurs correspondances, 3) Absence d'ancres (^, $) ou de limites de mots (\b), 4) Utilisation de fonctionnalités que votre moteur JavaScript ne prend pas encore en charge (comme certaines assertions arrière). Essayez de simplifier le motif et d'ajouter les éléments progressivement.⏱️Que signifie le temps d'exécution (ms) ?
performance.now(). La valeur est une mesure approximative unique du temps que le regex a pris pour s'exécuter sur l'entrée actuelle. C'est utile pour repérer les motifs manifestement coûteux, mais ce n'est pas un benchmark complet ni une garantie de performance en production.🔍Quelle est la différence entre le premier match et le mode global ?
g, JavaScript ne renvoie que le **premier** match (s'il y en a un). Avec g, le testeur utilise input.matchAll() pour collecter **tous** les matches (limités à un maximum sécurisé), y compris les indices et les groupes de capture. Utilisez le mode global chaque fois que vous vous souciez de multiples occurrences.🌍Est-ce que cela prend en charge Unicode et les échappements <code>\p{...}</code> ?
u pour passer en mode Unicode, ce qui débloque des fonctionnalités comme \p{Letter} ou \p{Script=Greek} dans les navigateurs modernes et les versions récentes de Node.js.⚠️Est-ce que cela peut détecter le backtracking catastrophique ?
Pro Tips
Construisez votre regex par petites étapes. Commencez par quelque chose de simple qui correspond, puis ajoutez les ancres, groupes et quantificateurs étape par étape.
Utilisez des groupes de capture nommés (<code>(?<nom>...)</code>) autant que possible. Ils rendent vos matches auto-documentés et beaucoup plus faciles à lire lors des revues de code.
Soyez prudent avec <code>.*</code> et les quantificateurs imbriqués. Ils peuvent provoquer un backtracking important sur les grandes entrées. Rendez les motifs plus spécifiques ou limitez la répétition avec <code>{n,m}</code>.
Lors du débogage, supprimez temporairement le drapeau <code>g</code> et concentrez-vous sur le premier match pour simplifier le modèle mental.
Additional Resources
Other Tools
- Beautificateur CSS
- Beautificateur HTML
- Beautificateur JavaScript
- Beautificateur PHP
- Sélecteur de couleurs
- Extracteur de sprites
- Décodeur Base64
- Encodeur Base64
- Formateur C#
- Formateur CSV
- Dockerfile Formatter
- Formateur Elm
- Formateur ENV
- Formateur Go
- Formateur GraphQL
- Formateur HCL
- Formateur INI
- Formateur JSON
- Formateur LaTeX
- Formateur Markdown
- Formateur Objective-C
- Php Formatter
- Formateur Proto
- Formateur Python
- Formateur Ruby
- Formateur Rust
- Formateur Scala
- Formateur de scripts shell
- Formateur SQL
- Formateur SVG
- Formateur Swift
- Formateur TOML
- Typescript Formatter
- Formateur XML
- Formateur YAML
- Formateur Yarn
- Minificateur CSS
- Html Minifier
- Javascript Minifier
- Minificateur JSON
- Minificateur XML
- Visualiseur d'en-têtes HTTP
- PDF vers Texte
- Vérificateur de classement SERP
- Recherche Whois