Outil développeur

Testeur d'expressions régulières (Regex) en ligne

Testez et débuggez vos expressions régulières en temps réel. Les matches sont surlignés instantanément dans votre texte. Groupes de capture, flags configurables et aide-mémoire intégré. Moteur JavaScript — gratuit, sans inscription.

/
/g
Flags:

🔒 Vos données ne quittent jamais votre navigateur

100% sécurisé

Vos fichiers ne sont jamais partagés

Ultra-rapide

Traitement en quelques secondes

Confidentialité

Suppression automatique après 1h

Comment tester des expressions régulières

1

Entrez votre regex

Tapez votre pattern d'expression régulière dans le champ de saisie. Sélectionnez les flags (g, i, m, s) à l'aide des cases à cocher à côté.

2

Collez votre texte de test

Entrez le texte à tester dans la grande zone de texte. Les portions correspondantes sont surlignées en temps réel à mesure que vous tapez.

3

Analysez les résultats

Le panneau de résultats montre le nombre de matches, chaque match avec ses groupes de capture, et les positions début/fin. Modifiez votre regex pour affiner les résultats.

Les bases des regex

Les expressions régulières utilisent des caractères littéraux et des métacaractères. Les caractères littéraux se matchent eux-mêmes (abc matche « abc »). Les métacaractères ont une signification spéciale : . matche n'importe quel caractère, * signifie zéro ou plus, + signifie un ou plus, ? signifie zéro ou un, ^ matche le début de chaîne, $ matche la fin de chaîne.

Le pipe | signifie OU (cat|dog matche « cat » ou « dog »). Les parenthèses () créent des groupes et capturent les matches. Les crochets [] définissent des classes de caractères ([aeiou] matche toute voyelle).

Quantificateurs : greedy vs lazy

Par défaut, les quantificateurs sont greedy — ils matchent le plus de texte possible. Le pattern .* dans « ‹b›hello‹/b› » matche « ‹b›hello‹/b› » (la chaîne entière entre le premier ‹ et le dernier ›).

Ajouter ? rend un quantificateur lazy — il matche le moins possible. Le pattern .*? dans la même chaîne matche juste « ‹b› » (s'arrête au premier ›). C'est crucial pour parser du texte structuré comme HTML ou JSON.

Classes de caractères

Classes intégrées : \d matche tout chiffre (0-9), \w matche les caractères de mot (lettres, chiffres, underscore), \s matche les espaces (espace, tab, retour à la ligne). Les versions majuscules (\D, \W, \S) matchent l'opposé.

Les classes personnalisées utilisent des crochets : [a-z] matche les lettres minuscules, [^0-9] matche tout sauf les chiffres, [A-Za-z0-9_] est équivalent à \w. Les plages fonctionnent pour les points de code Unicode consécutifs.

Groupes de capture et références arrière

Les parenthèses () créent des groupes de capture qui extraient des parties spécifiques d'un match. Dans le pattern (\d{4})-(\d{2})-(\d{2}), le groupe 1 capture l'année, le groupe 2 le mois, le groupe 3 le jour.

Les groupes non capturants (?:...) groupent sans capturer — utile pour appliquer des quantificateurs à un groupe sans créer une capture supplémentaire. Les groupes nommés (?‹nom›...) rendent les captures plus lisibles dans le code.

Lookahead et lookbehind

Le lookahead (?=...) matche une position suivie d'un pattern sans le consommer. Par exemple, \d+(?= dollars) matche les chiffres uniquement quand ils sont suivis de « dollars ». Le lookahead négatif (?!...) matche quand NON suivi du pattern.

Le lookbehind (?<=...) matche une position précédée d'un pattern. (?<=\$)\d+ matche les chiffres précédés de $. JavaScript supporte le lookahead et le lookbehind dans les moteurs modernes.

Patterns utiles courants

Validation email : [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}. Extraction URL : https?://[\S]+. Numéros de téléphone : \+?\d[\d\s-]{7,}\d. Adresse IPv4 : \d{1,3}(\.\d{1,3}){3}.

Rappelons que ces patterns sont simplifiés pour les cas courants. La validation en production nécessite souvent des patterns plus spécifiques ou des parseurs dédiés. Une regex « assez bonne » est souvent meilleure qu''une regex parfaite mais illisible.

Pièges courants

Le catastrophic backtracking se produit quand une regex a des quantificateurs imbriqués qui créent des chemins de matching exponentiels. Des patterns comme (a+)+ ou (a|a)* sur de longues entrées peuvent geler votre navigateur. Cet outil inclut un timeout pour s'en protéger.

Les différences entre moteurs sont un autre piège : le moteur regex de JavaScript diffère de PCRE (PHP), du module re de Python et de System.Text.RegularExpressions de .NET. Des fonctionnalités comme les quantificateurs possessifs (a++), les groupes atomiques ((?>...)) et les patterns conditionnels ne sont pas disponibles en JavaScript.

Testeur d'expressions régulières (Regex) en ligneQuestions fréquentes

Qu'est-ce qu'une expression régulière (regex) ?

Une expression régulière est un pattern (motif) de recherche qui décrit un ensemble de chaînes de caractères. Les regex sont utilisées pour rechercher, valider et extraire des données dans du texte. Par exemple, le pattern \d{3}-\d{4} correspond à un format comme « 555-1234 ».

Quel moteur regex est utilisé ?

L'outil utilise le moteur regex natif de JavaScript (ECMAScript). C'est le même moteur que celui de votre navigateur, Node.js et de nombreux outils web. Les syntaxes spécifiques à d'autres langages (lookbehind variable en PCRE, possessive quantifiers) peuvent ne pas être supportées.

Mes données sont-elles envoyées sur un serveur ?

Non. Le test regex se fait entièrement dans votre navigateur. Votre texte et vos expressions ne quittent jamais votre appareil.

Que signifient les flags g, i, m et s ?

g (global) : trouve tous les matches, pas seulement le premier. i (case-insensitive) : ignore la casse. m (multiline) : ^ et $ matchent le début/fin de chaque ligne. s (dotAll) : le point (.) matche aussi les retours à la ligne.

Ma regex semble correcte mais ne matche rien, pourquoi ?

Les causes les plus courantes : vous avez oublié le flag g pour trouver plusieurs matches, les caractères spéciaux ne sont pas échappés (un point . matche tout, utilisez \. pour un point littéral), ou la regex est en mode case-sensitive et votre texte a une casse différente.

L'outil est-il adapté pour apprendre les regex ?

Oui. La coloration en temps réel et l'affichage des groupes de capture permettent de voir immédiatement l'effet de chaque modification. L'aide-mémoire intégré vous rappelle les patterns courants. Pour un apprentissage approfondi, nous recommandons de combiner cet outil avec des tutoriels regex.

Outils similaires