Testeur Regex
Testez des expressions régulières avec correspondance en direct, flags et détails.
Qu'est-ce qu'une expression régulière ?
Les expressions régulières (regex ou regexp) sont des motifs utilisés pour faire correspondre des combinaisons de caractères dans du texte. Ce sont l'un des outils les plus puissants en programmation pour la recherche, la validation, l'extraction et la transformation de texte. Tous les principaux langages de programmation prennent en charge les expressions régulières, et elles sont essentielles pour des tâches comme la validation de formulaires, l'analyse de logs et le nettoyage de données.
Une expression régulière décrit un ensemble de chaînes via une syntaxe spéciale. Les motifs simples correspondent à du texte littéral, tandis que les métacaractères comme . (n'importe quel caractère), * (zéro ou plus) et + (un ou plus) ajoutent de la flexibilité. Le groupement avec les parenthèses, l'alternance avec |, et les classes de caractères avec [] permettent de construire des règles de correspondance précises pour pratiquement n'importe quel motif de texte.
Comment utiliser le testeur de regex
Saisissez un motif d'expression régulière dans le champ correspondant, sélectionnez les drapeaux souhaités (g, i, m, s), puis collez le texte à tester. L'outil met en surbrillance toutes les correspondances en temps réel et affiche les groupes de capture pour chacune. Idéal pour développer et déboguer vos regex avant de les intégrer à votre code.
Motifs regex courants
- Adresses email : ^[^\s@]+@[^\s@]+\.[^\s@]+$ — correspond aux formats d'email standards.
- URL : https?://\S+ — correspond aux URL commençant par http ou https.
- Adresses IPv4 : reconnaît le format décimal pointé standard comme 192.168.1.1 à l'aide de quantificateurs de chiffres.
- Dates : reconnaît les dates au format AAAA-MM-JJ en utilisant un motif d'année à quatre chiffres puis de mois et de jour à deux chiffres.
- Mots capitalisés : [A-Z][a-z]+ — correspond aux mots commençant par une majuscule.
Les drapeaux regex expliqués
- g: g (Global) : trouve toutes les correspondances dans le texte, pas seulement la première.
- i: i (insensible à la casse) : fait correspondre le motif quelle que soit la casse des lettres.
- m: m (Multiligne) : fait correspondre ^ et $ au début et à la fin de chaque ligne, et non plus uniquement à l'ensemble de la chaîne.
- s: s (Dotall) : permet au métacaractère . de correspondre également aux caractères de saut de ligne.
Groupes de capture
Les parenthèses () créent des groupes de capture qui extraient des parties spécifiques d'une correspondance. Chaque groupe est numéroté à partir de 1. Par exemple, le motif (\w+)@(\w+\.\w+) appliqué à « user@example.com » capture « user » dans le groupe 1 et « example.com » dans le groupe 2. Les groupes nommés via (?<name>...) rendent les motifs complexes plus lisibles.
Erreurs courantes en regex
Oublier d'échapper les caractères spéciaux est l'erreur la plus fréquente. Des caractères comme . + * ? ( ) [ ] ^ $ | et les accolades ont une signification particulière en regex et doivent être échappés avec une barre oblique inverse lorsque vous voulez les trouver littéralement. Par exemple, pour reconnaître un point, il faut une barre oblique inverse suivie d'un point au lieu d'un simple point.
Écrire des motifs trop gourmands est un autre problème fréquent. Le quantificateur .* capture autant de texte que possible, ce qui peut englober bien plus que prévu. Utilisez le quantificateur paresseux .*? pour capturer aussi peu que possible, ou utilisez des motifs plus spécifiques comme [^>]* au lieu de .* lorsque vous analysez du texte structuré.
Questions fréquentes
Les motifs regex sont-ils identiques dans tous les langages ?
La syntaxe de base est similaire, mais il existe des différences. JavaScript, Python, Java et .NET ont chacun des fonctionnalités et des syntaxes légèrement différentes pour les constructions avancées comme les assertions arrière (lookbehind), les groupes nommés et la prise en charge d'Unicode. Cet outil utilise les regex JavaScript, qui constituent le standard pour le développement web.
Comment apprendre les expressions régulières ?
Commencez par des motifs simples, puis ajoutez de la complexité progressivement. Apprenez d'abord les métacaractères de base (. * + ? ^ $), les classes de caractères ([a-z], \d, \w) et les quantificateurs. Passez ensuite aux groupes, à l'alternance et aux assertions avant. Entraînez-vous sur des tâches concrètes comme la validation d'adresses email, l'analyse de fichiers de log ou l'extraction de données depuis du HTML.