Générateur Regex
Outil gratuit pour construire et tester visuellement vos expressions régulières. Créez, validez et expliquez vos regex, parcourez une bibliothèque de motifs et exportez le code pour plusieurs langages.
Générateur Regex - Constructeur visuel et testeur d'expressions régulières
Composez des regex en quelques clics : bibliothèque de motifs, composants rapides, explication détaillée, tests temps réel et export de code pour JavaScript, Python, PHP, Java, Ruby et Go.
Qu'est-ce qu'une expression régulière ?
Une expression régulière (regex) décrit un motif qui permet de rechercher, valider ou manipuler du texte.\n\n**Usages courants :** validation d'email, numéro de téléphone, mot de passe, extraction de données, nettoyage de journaux, contrôle d'API.\n\n**Syntaxe de base :**\n- Littéraux : `abc` correspond à « abc »\n- Classes : `\d` chiffre, `\w` lettre/chiffre, `\s` espace, `.` tout caractère\n- Quantificateurs : `*` (0+), `+` (1+), `?` (0 ou 1), `{n}`, `{n,m}`\n- Ancres : `^` début, `$` fin, `\b` frontière de mot\n- Groupes : `(...)` capturant, `(?:...)` non capturant\n- Ensembles : `[abc]`, `[a-z]`, `[^abc]`\n\nExemples : validation d'email `^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$`, numéro US, URL ou mot de passe complexe.
Comment utiliser ce générateur ?
1. **Point de départ** : sélectionnez un motif dans la bibliothèque ou saisissez votre regex. Utilisez les composants rapides pour insérer la syntaxe correcte.\n2. **Drapeaux** : activez g (global), i (insensible), m (multiligne) ou s (dotall) selon vos besoins.\n3. **Tests** : ajoutez un texte d'essai et cliquez sur « Tester le motif » pour visualiser les correspondances, positions et groupes.\n4. **Explication** : le bouton « Expliquer » détaille chaque segment de la regex pour mieux la comprendre.\n5. **Code** : générez le code prêt à l'emploi pour JS, Python, PHP, Java, Ruby ou Go.
Quelles sont les meilleures pratiques regex ?
- Débutez simple puis complexifiez.\n- Utilisez des ancres (^, $) pour éviter les correspondances partielles.\n- Préférez les classes précises (`[A-Z]`, `\d`) plutôt que `.*`.\n- Évitez les chaînes de quantificateurs qui causent un backtracking massif.\n- Ajoutez des groupes non capturants `(?: )` quand vous n'avez pas besoin de capturer.\n- Testez vos motifs avec plusieurs cas limites et Activez l'explication pour vérifier la logique.
Comment fonctionnent les groupes et backreferences ?
Les groupes capturants `()` extraient des sous-chaînes et permettent l'utilisation de backreferences. Exemple : `(\d{4})-(\d{2})-(\d{2})` capture année/mois/jour. Les backreferences `\1`, `\2` font référence aux groupes correspondants (ex. `\b(\w+)\s+\1\b` détecte les mots répétés). Utilisez `(?: )` pour grouper sans capturer lorsque seules les alternances/compositions vous intéressent.
Comment éviter les problèmes de performance ?
Les regex peuvent provoquer un backtracking catastrophique lorsque des quantificateurs gourmands sont imbriqués (`(a+)+b`). Pour l'éviter :\n- Limitez les `.*` et préférez des classes spécifiques\n- Utilisez des quantificateurs paresseux (`*?`, `+?`) lorsque nécessaire\n- Ajoutez des ancres pour restreindre la recherche\n- Testez avec de longues chaînes\n- Surveillez les performances via l'outil de test intégré\n- Documentez vos motifs pour les maintenir facilement