Réponse rapide
Un testeur regex exécute le motif que vous écrivez sur le texte que vous fournissez et surligne instantanément ce qui correspond. Cet outil surligne les correspondances en direct, liste les groupes de capture et les groupes nommés, prévisualise la recherche-remplacement, explique le motif morceau par morceau et génère un code équivalent pour JavaScript, Python, PHP et Java — entièrement dans votre navigateur, sans rien envoyer à un serveur.
10Modèles prêts à l'emploi
5Drapeaux (g,i,m,s,u)
4Langages de code
100%Côté client
⚙️ Remarque sur la précision et le moteur : cet outil utilise le moteur regex ECMAScript (JavaScript) intégré au navigateur. PCRE (PHP), le module re de Python et le moteur regex de Java partagent la majeure partie de la syntaxe, mais peuvent différer légèrement sur des fonctionnalités avancées (comme les groupes atomiques ou les quantificateurs possessifs) — testez séparément le code généré dans l'onglet « Générer le code » dans votre langage cible. Les modèles carte bancaire et IBAN vérifient uniquement le format ; ils ne valident pas les sommes de contrôle.
Qu'est-ce qu'un regex, et comment le tester ?
Un guide complet — syntaxe, groupes de capture, recherche & remplacement, et drapeaux — expliqué et rendu citable.
Une expression régulière (regex, en abrégé) est une syntaxe spéciale utilisée pour décrire un motif dans du texte. Par exemple, \d{4} signifie « quatre chiffres à la suite », et [A-Z][a-z]+ signifie « un mot qui commence par une majuscule ». Le regex est utilisé pour la validation de formulaires (numéros de téléphone, adresses e-mail, formats de carte bancaire), l'analyse de fichiers journaux, la recherche-remplacement et l'extraction de données — et presque tous les langages de programmation, dont JavaScript, Python, PHP et Java, prennent en charge une syntaxe très similaire.
Pourquoi tester un motif regex est-il important ?
Réponse rapideLa syntaxe regex est dense et facile à mal écrire — oublier d'échapper un caractère (utiliser . au lieu de \., par exemple) peut entraîner des correspondances inattendues. Tester votre motif en direct sur de vraies données d'exemple, et confirmer visuellement quelles parties correspondent réellement, est le moyen le plus fiable de repérer les erreurs avant qu'un motif défectueux ne parte en production.
Qu'est-ce qu'un groupe de capture ?
Réponse rapideUne section entourée de parenthèses, comme (abc), forme un « groupe de capture » et rend cette partie de la correspondance accessible séparément. (?:abc) est un groupe non capturant — il groupe sans être numéroté. (?<nom>abc) attribue un nom à un groupe (un groupe nommé) ; le résultat est alors accessible par numéro ou par nom.
- Groupe numéroté —
(\d{2})-(\d{2}) : dans « 12-34 », le groupe 1 = « 12 », le groupe 2 = « 34 ».
- Groupe nommé —
(?<annee>\d{4}) : accessible dans le résultat via groups.annee.
- Groupe non capturant —
(?:abc)+ : groupe la répétition de « abc » sans le numéroter.
Comment fonctionne la recherche & remplacement ?
Réponse rapideDans une opération de recherche-remplacement, les parties correspondant au regex sont échangées contre une autre chaîne ; les groupes de capture sont référencés avec $1, $2… ou, pour les groupes nommés, avec $<nom>. Par exemple, en appliquant (\d{4})-(\d{2})-(\d{2}) avec le remplacement $2/$3/$1, « 2026-07-19 » devient « 07/19/2026 ». Si le drapeau « g » n'est pas défini, seule la première correspondance est remplacée — essayez-le en direct dans l'onglet « Remplacer » ci-dessus.
À quoi servent les drapeaux regex ?
Réponse rapideg trouve chaque correspondance (sans lui, seule la première) ; i désactive la sensibilité à la casse ; m fait correspondre les ancres ^/$ au début/à la fin de chaque ligne, et non plus seulement de la chaîne entière ; s (dotall) permet à . de correspondre aussi aux sauts de ligne ; et u interprète le motif selon les points de code Unicode. Les drapeaux sont ajoutés comme une option séparée, et non intégrés dans le motif lui-même.
Symboles regex courants (résumé rapide)
Référence rapide — voir la section Référence complète ci-dessous pour l'ensemble
| Symbole | Signification | Exemple |
| \d | Chiffre (0-9) | \d{4} → « 2026 » |
| \w | Caractère de mot (lettre/chiffre/_) | \w+ → « hello_123 » |
| \s | Espace (espace/tabulation/saut de ligne) | \s+ → « » (espace) |
| ^ $ | Début et fin de texte/ligne | ^abc$ → exactement « abc » |
| * + ? {n,m} | Quantificateurs (répétition) | a{2,4} → « aa ».. « aaaa » |
| (...) (?:...) (?<nom>...) | Groupe de capture / non capturant / nommé | (\d+)-(\d+) |
Glossaire des termes regex
Définitions courtes des concepts essentiels des expressions régulières.
MotifLe texte regex lui-même qui définit ce qu'il faut faire correspondre.
DrapeauUne lettre supplémentaire qui modifie le comportement du motif : g, i, m, s, u, par exemple.
Groupe de captureUne partie du motif entre parenthèses (...) dont le texte correspondant devient accessible séparément.
Groupe nomméUn groupe de capture auquel on donne un nom avec (?<nom>...) ; accessible par ce nom dans le résultat.
Gourmand / ParesseuxUn quantificateur gourmand essaie de faire correspondre le plus possible ; un paresseux (avec un ? final) essaie de faire correspondre le moins possible.
Référence arrièreRéférence à un groupe de capture précédent au sein du motif, via \1, \2, etc.
Ancre^ et $ — elles marquent le début et la fin du texte/de la ligne sans consommer de caractères.
Lookahead / LookbehindVérifie qu'un motif existe avant ou après une position, sans l'inclure dans la correspondance.
MétacaractèreUn caractère ayant une signification spéciale en regex : . * + ? ^ $ ( ) [ ] { } | \.
ÉchappementPlacer un \ avant un métacaractère pour le faire correspondre littéralement, ex. \..
Remplacement / SubstitutionÉchanger le texte correspondant contre une autre chaîne, en référençant les groupes avec $1, etc.
Correspondance globale (g)Trouver chaque correspondance dans le texte, pas seulement la première.
Backtracking catastrophiqueExplosion du temps d'exécution d'un motif regex, généralement causée par un quantificateur imbriqué comme (a+)+.
ReDoSAttaque par déni de service exploitant un motif regex sujet au backtracking catastrophique pour bloquer une application.
SIRET / SIRENIdentifiants officiels d'entreprise en France : le SIREN (9 chiffres) identifie l'entreprise, le SIRET (14 chiffres) un établissement précis.
Questions fréquentes
Comment teste-t-on un motif regex ?
Écrivez votre motif regex dans un outil de test et saisissez le texte que vous voulez vérifier pour voir les
correspondances en direct. Dans cet outil, après avoir saisi votre motif et vos drapeaux (g, i, m, s, u), les portions du texte
qui correspondent sont automatiquement surlignées en couleur ; les groupes de capture, les informations de position et les
groupes nommés sont listés dans un tableau séparé. Vous pouvez affiner votre motif par essais rapides.
Qu'est-ce qu'une expression régulière (regex) ?
Une expression régulière (regex) est une syntaxe spéciale utilisée pour définir un motif précis dans du texte.
Par exemple, le motif \d{11} signifie « 11 chiffres à la suite ». Le regex est largement utilisé pour la
validation de formulaires (e-mail, numéro de téléphone, format de carte bancaire), la recherche-remplacement de texte,
l'analyse de journaux et l'extraction de données, et il est pris en charge avec une syntaxe très similaire dans presque
tous les langages de programmation (JavaScript, Python, PHP, Java).
Comment écrit-on un regex pour un numéro de téléphone US ?
Le motif ^(?:\+1|1)?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ correspond à un numéro de téléphone
américain à 10 chiffres, avec un indicatif +1/1 optionnel, des parenthèses optionnelles autour de l'indicatif régional, et
des espaces, points ou tirets optionnels entre les groupes. Cela signifie que « (555) 123-4567 », « 555.123.4567 » et
« +1 555 123 4567 » peuvent tous correspondre au même motif. Ce motif vérifie uniquement le format courant — il ne
vérifie pas qu'un indicatif régional est réellement attribué.
Quel est un exemple de regex pour un e-mail ?
Un motif de validation d'e-mail pratique est ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$ : il recherche des
lettres, chiffres, tiret bas, point, plus ou tiret dans le nom d'utilisateur, un signe @, un nom de domaine et une extension
d'au moins deux lettres. Un regex d'e-mail totalement conforme à la RFC 5322 est bien plus complexe ; en pratique, ce
motif simplifié suffit pour la plupart des validations de formulaire.
Comment valider le format d'un numéro de carte bancaire avec un regex — et est-ce suffisant ?
Le motif ^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$ vérifie qu'un numéro de carte est composé de
quatre groupes de quatre chiffres, séparés éventuellement par des espaces ou des tirets. C'est uniquement une vérification
de format — un numéro de carte réellement valide doit aussi passer l'algorithme de Luhn, un calcul arithmétique chiffre
par chiffre qu'un regex seul ne peut pas effectuer. En pratique, utilisez une approche en deux étapes : un filtre de
format regex rapide, suivi d'une vérification de Luhn dans le code de votre application.
Un testeur de regex en ligne est-il sûr à utiliser ?
Dans cet outil, votre motif regex et votre texte de test sont traités entièrement dans votre navigateur
(JavaScript côté client) ; rien n'est envoyé à un serveur, enregistré ou journalisé. Lorsque vous créez un lien
partageable, seuls le motif et les drapeaux sont ajoutés à l'URL — votre texte de test, qui peut contenir des données
personnelles, n'est jamais inclus dans le lien.
Qu'est-ce qu'un groupe de capture en regex ?
Une section entourée de parenthèses, comme (abc), forme un « groupe de capture » et rend le
texte correspondant à cette section accessible séparément ; par exemple, le motif (\d{2})-(\d{2}) appliqué à
« 12-34 » capture le groupe 1 = « 12 » et le groupe 2 = « 34 ». Les groupes peuvent être nommés avec la syntaxe
(?<nom>...) (un groupe nommé) ; (?:...) groupe sans capturer du tout.
Comment fonctionne la recherche-remplacement en regex ?
Dans une opération de recherche-remplacement, le texte correspondant au regex est échangé contre une autre
chaîne ; les groupes de capture sont référencés avec $1, $2… ou, pour les groupes nommés, avec
$<nom>. Par exemple, en appliquant le motif (\d{4})-(\d{2})-(\d{2}) avec le remplacement
$2/$3/$1, « 2026-07-19 » devient « 07/19/2026 ». Si le drapeau « g » n'est pas coché, seule la première
correspondance est remplacée.
Comment extraire tous les e-mails ou numéros de téléphone d'un bloc de texte avec un regex ?
Écrivez votre motif (par ex. [\w.+-]+@[\w-]+\.[a-zA-Z]{2,} pour un e-mail), activez le drapeau
« g », et collez votre texte ; puis, dans l'onglet « Extraire / Lister », chaque correspondance est listée en texte
brut — une par ligne, séparée par des virgules, ou avec un séparateur personnalisé. Utilisez « supprimer les doublons »
pour éliminer les répétitions, copiez la liste en un clic, ou téléchargez-la en .txt, ou en .csv avec les détails de
position et de groupe inclus. Astuce : n'utilisez pas les ancres ^ et $ si vous voulez
rechercher dans une ligne plutôt que faire correspondre la ligne entière.
Comment tester mon motif regex sur plusieurs exemples (tests unitaires) ?
Utilisez l'onglet « Tests » : saisissez des exemples qui doivent correspondre à votre motif dans le champ
« Doit correspondre », et des exemples qui ne doivent PAS correspondre dans le champ « Ne doit PAS correspondre », un
par ligne. L'outil exécute chaque ligne contre votre motif, la compare à votre attente, et marque chacune en vert
(réussi) ou en rouge (échoué), avec un résumé « X/Y tests réussis » en haut. Idéal pour renforcer des motifs de
validation comme les numéros de téléphone ou les e-mails contre plusieurs exemples réels. Utilisez les ancres
^ et $ pour une validation de ligne entière.
D'où viennent les modèles intégrés, et à quelle fréquence sont-ils mis à jour ?
Les modèles prêts à l'emploi (téléphone US, e-mail, code postal, IBAN, carte bancaire, code couleur
hexadécimal, mot de passe fort, téléphone français, code postal français, SIRET/SIREN) sont basés sur des conventions de
format largement reconnues et, en tant que règles structurelles pérennes, ne nécessitent pas de mises à jour fréquentes.
Le moteur de correspondance est le moteur regex ECMAScript intégré à votre navigateur. Dernière mise à jour :
19 juillet 2026.
Comment valider un numéro de téléphone ou un code postal français avec un regex ?
Cliquez sur le modèle « Téléphone (FR) » pour charger ^(?:\+33|0)\s?[1-9](?:[\s.-]?\d{2}){4}$, qui
accepte l'indicatif +33 ou un 0 initial suivi de quatre groupes de deux chiffres, avec
espace, point ou tiret optionnel entre eux. Le modèle « Code postal (FR) » utilise
^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$ pour vérifier un code à 5 chiffres. Ces deux modèles ne vérifient que le
format ; ils ne confirment pas qu'un numéro ou un code postal est réellement attribué.
Comment savoir si mon motif regex est lent ou risque le backtracking catastrophique ?
Sous le champ « Motif regex », cet outil affiche en direct le temps d'exécution de votre motif sur
votre texte de test (en millisecondes) ainsi que le nombre d'étapes de correspondance effectuées. Un scan heuristique
recherche également les structures classiquement à risque de backtracking catastrophique — comme un
quantificateur imbriqué (a+)+ ou une alternance quantifiée (a|ab)+ — et affiche un
avertissement si l'une d'elles est détectée dans votre motif. C'est une aide au diagnostic locale, entièrement
calculée dans votre navigateur ; testez toujours avec un texte représentatif de vos données réelles.