Skip to content
Aide-mémoire Regex
Tools

Aide-mémoire Regex

Nouveau

Référence consultable des éléments et drapeaux des expressions régulières.

Live regex tester

Type a pattern and a test string — matches highlight instantly, with every capture group broken out below.

/ /
Flags
Matches
Capture groups

Common regex patterns

Battle-tested patterns — load one into the tester to see it run, or copy it straight out.

Email address
[\w.+-]+@[\w-]+\.[\w.-]+
URL (http/https)
https?:\/\/[^\s]+
US phone number
\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Date (YYYY-MM-DD)
(\d{4})-(\d{2})-(\d{2})
Time (24-hour)
([01]?\d|2[0-3]):[0-5]\d
IPv4 address
\b(?:\d{1,3}\.){3}\d{1,3}\b
Hex color
#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{3})\b
Slug / username
[a-z0-9]+(?:-[a-z0-9]+)*
Whole number / integer
-?\d+
Strong password (8+, mixed)
(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}
Duplicate word
\b(\w+)\s+\1\b
Trailing whitespace
[ \t]+$

Regex cheat sheet

Every token, grouped with a quick example. Search by symbol or keyword; click any token to copy it.

Regex flavors: JavaScript, Python, Java, PCRE & grep

The tester above runs JavaScript regex. Most syntax is shared — here's what differs between engines.

FeatureJavaScriptPython (re)JavaPCRE / grep
Named group(?<name>…)(?P<name>…)(?<name>…)(?P<name>…)
Dotall (. matches \n)s flagre.DOTALL / (?s)Pattern.DOTALL(?s)
Ignore casei flagre.IGNORECASE / (?i)(?i) flag(?i) / grep -i
Lookbehind(?<=…) ES2018+SupportedSupportedgrep -P only
Backslash in source/\d/ literalr"\d" raw string"\\d" doubled\d
Find every matchstr.matchAll(/…/g)re.findall()Matcher.find()grep -o
POSIX class [[:digit:]]use \d insteaduse \d insteadsupportedsupported

Runs entirely in your browser. Nothing is uploaded.

Un aide-mémoire regex avec exemples — et un testeur en direct

Cet aide-mémoire regex met chaque token d'expression régulière à portée de recherche — et l'associe à un testeur en direct pour essayer un motif dès que vous le consultez. Saisissez un motif, choisissez vos drapeaux, collez une chaîne de test, et les correspondances se surlignent instantanément tandis que chaque groupe capturant s'affiche en dessous.

Rien à installer et aucun compte à créer : toute la référence des expressions régulières s'exécute dans votre navigateur, le texte que vous testez n'est donc jamais envoyé. Pas de publicités, pas d'inscription obligatoire, pas de limite de taille sur vos chaînes de test.

Tous les tokens regex, regroupés avec des exemples

La référence couvre la syntaxe que vous utilisez vraiment : classes de caractères (\d, \w, \s et les ensembles personnalisés comme [a-z]), ancres et limites (^, $, \b), quantificateurs (*, +, ?, {n,m} et leurs formes paresseuses), groupes et alternatives, lookahead et lookbehind, les drapeaux g i m s u y, et les échappements nécessaires pour les points et les barres obliques.

Chaque entrée comporte un exemple court et concret — \bcat\b correspond au mot « cat » mais pas à « category » — pour que le sens reste en mémoire. Recherchez les tokens regex par symbole ou mot-clé et cliquez sur l'un d'eux pour le copier.

Testez votre motif au fur et à mesure

Les aide-mémoire statiques ne peuvent pas vous dire si votre motif fonctionne réellement. Le testeur regex intégré compile votre expression en direct, surligne chaque correspondance dans le texte exemple, et liste les groupes capturants numérotés et nommés pour chacune d'elles.

Activez ou désactivez les drapeaux global, insensible à la casse, multiligne, dotall, Unicode et sticky et observez les résultats changer. Si un motif est invalide, vous obtenez un message d'erreur en français clair plutôt qu'un échec silencieux — et voir un motif correspondre en temps réel est la façon la plus rapide d'apprendre les regex.

Motifs regex courants, prêts à copier

Certains motifs reviennent sans cesse — adresses e-mail, URL, numéros de téléphone, dates ISO, adresses IPv4, couleurs hexadécimales et vérifications de mots de passe robustes. La section Motifs courants vous propose une version validée de chacun : chargez-la directement dans le testeur pour la voir s'exécuter sur du texte exemple, ou copiez-la dans votre code.

Ce sont des points de départ pragmatiques que vous pouvez adapter, et non des règles universelles — c'est précisément pourquoi les tester sur vos propres données est essentiel.

Comparaison avec regex101.com et regexr.com

regex101.com est l'outil regex dédié le plus populaire du web — et pour de bonnes raisons. Il prend en charge six dialectes regex (PCRE, Python re, Golang, Java, .NET et JavaScript), affiche un panneau d'explication token par token, et conserve un historique des correspondances. Si vous déboguez un motif de production complexe ou devez vérifier qu'un motif se comporte de manière identique en PHP et en Python, regex101 est l'outil qu'il vous faut. regexr.com offre une expérience similaire avec une bibliothèque publique de motifs contributifs.

Cette page UtiloKit occupe une place différente dans le flux de travail. Elle combine une table de référence des tokens que vous pouvez rechercher avec un testeur en direct sur le même écran, optimisée pour la situation courante où vous savez approximativement ce dont vous avez besoin mais n'arrivez plus à vous souvenir de la syntaxe exacte. Vous arrivez, cherchez le token, collez une chaîne de test rapide, et retournez à votre éditeur — sans changer d'onglet, sans compte, sans publicités. Pour les développeurs qui consultent regex101 des dizaines de fois par jour pour se rappeler si le lookbehind utilise (?<=…) ou (?<!…), disposer d'une référence consultable dédiée est sensiblement plus rapide. Utilisez les deux : regex101 pour le débogage approfondi, cette page pour les consultations rapides.

Dialectes regex : JavaScript, Python, Java, PCRE et grep

La plupart de la syntaxe regex est portable, mais les moteurs diffèrent dans les détails. Le testeur utilise le regex JavaScript, le même dialecte que Node.js et le navigateur. Le module Python re requiert des chaînes brutes comme r"\d+" et nomme les groupes (?P<nom>…) ; Java exige des barres obliques inverses doublées dans les littéraux de chaîne ; PCRE (PHP et grep -P) est le plus complet en fonctionnalités ; et POSIX grep -E a ses propres particularités d'échappement.

Le tableau des dialectes détaille les groupes nommés, le dotall, l'insensibilité à la casse, le lookbehind et le « find all » pour chaque moteur, afin que vous puissiez porter un motif de python regex vers JavaScript — ou dans l'autre sens — sans mauvaises surprises.

Greedy vs lazy, et autres pièges courants

Deux choses piègent presque tout le monde. Premièrement, les quantificateurs sont gourmands (greedy) : .+ capture autant que possible, donc pour correspondre à une seule balise HTML vous voudrez généralement le paresseux .+?. Deuxièmement, oublier d'échapper les métacaractères — un . nu correspond à n'importe quel caractère, tandis que \. correspond à un point littéral, ainsi un regex de prix nécessite \d+\.\d{2}.

Gardez l'aide-mémoire ouvert pendant que vous travaillez et ces écueils cesseront de vous surprendre.

Privé, instantané et gratuit

Rien à installer et aucun compte à créer. Chaque consultation, chaque correspondance et chaque copie s'effectue localement dans votre navigateur — vos motifs et données de test ne quittent jamais votre appareil. Mettez cet aide-mémoire regex en favori et consultez-le chaque fois que vous devez vous rappeler un token ou vérifier rapidement un motif.

Frequently asked questions

C'est quoi une expression régulière avec un exemple ?

Une expression régulière (regex) est un motif compact qui décrit un ensemble de chaînes, utilisé pour rechercher, faire correspondre et remplacer du texte. Par exemple, le motif \d{3}-\d{4} correspond à un fragment de numéro comme 555-1234, car \d signifie « un chiffre » et {3} signifie « exactement trois d'entre eux ». Les regex alimentent la recherche-remplacement, la validation de formulaires et l'analyse de journaux dans presque tous les langages de programmation et éditeurs de code. Le testeur en direct en haut de cette page vous permet d'essayer n'importe quel motif instantanément.

Quels sont les tokens regex de base ?

Les éléments fondamentaux sont : . (n'importe quel caractère sauf le saut de ligne), \d (un chiffre), \w (un caractère de mot — lettre, chiffre ou tiret bas), \s (espace blanc), les ancres ^ (début) et $ (fin), et les quantificateurs * (zéro ou plus), + (un ou plus) et ? (optionnel). Ainsi \w+ correspond à un mot entier et \d+ correspond à un nombre entier comme 2024. Combinez-les — ^\d+$ correspond à une ligne ne contenant que des chiffres. Chaque token de cet aide-mémoire inclut un exemple copiable.

Que signifient \d, \w et \s en regex ?

\d correspond à n'importe quel chiffre de 0 à 9 ; \w correspond à un caractère de mot (a–z, A–Z, 0–9 ou _) ; \s correspond à un espace blanc (espace, tabulation ou saut de ligne). Leurs versions en majuscules sont les négations : \D est un non-chiffre, \W un non-caractère de mot et \S un non-espace. Par exemple, dans le texte « a5 b », \d correspond à 5, \w correspond à a, 5 et b, et \s correspond à l'espace entre eux. Ces trois classes abrégées couvrent la grande majorité des motifs regex du quotidien.

Qu'est-ce qu'une ancre en regex ?

Les ancres correspondent à une position plutôt qu'à un caractère. ^ correspond au début de la chaîne (ou à chaque ligne avec le drapeau m), $ correspond à la fin, \b correspond à une limite de mot et \B à une non-limite. Par exemple, ^\d+$ correspond à une chaîne composée uniquement de chiffres, et \bcat\b correspond au mot « cat » mais pas au « cat » dans « category ». Les ancres sont souvent confondues avec des caractères correspondants — elles correspondent à des positions dans le texte, pas à des caractères spécifiques.

Qu'est-ce qu'un quantificateur en regex ?

Les quantificateurs indiquent combien de fois le token précédent peut se répéter : * correspond à zéro ou plus, + à un ou plus, ? à zéro ou un (optionnel), {n} à exactement n, {n,} à n ou plus, et {n,m} à entre n et m. Ils sont gourmands par défaut (correspondent à autant que possible) ; ajoutez un ? pour les rendre paresseux. Par exemple \d{1,3} correspond à 1 à 3 chiffres, et le paresseux .+? correspond à aussi peu que possible. Les quantificateurs paresseux sont essentiels pour faire correspondre des balises HTML ou des chaînes entre guillemets.

Qu'est-ce qu'un groupe capturant en regex ?

Les parenthèses (…) créent un groupe capturant que vous pouvez extraire ou réutiliser — (\d{4})-(\d{2}) capture l'année dans le groupe 1 et le mois dans le groupe 2 de « 2024-06 ». Utilisez (?:…) pour un groupe non-capturant lorsque vous n'avez besoin de grouper que pour un quantificateur, et (?<nom>…) pour un groupe nommé comme (?<année>\d{4}). Une référence arrière telle que \1 correspond à nouveau à ce que le groupe 1 a capturé, donc (\w)\1 trouve une lettre doublée — le « ll » dans « hello ».

Qu'est-ce qu'un lookahead et un lookbehind en regex ?

Les lookarounds vérifient que du texte se trouve (ou ne se trouve pas) à côté de votre correspondance sans le consommer. (?=…) est un lookahead positif, (?!…) un lookahead négatif, (?<=…) un lookbehind positif et (?<!…) un lookbehind négatif. Par exemple, \d+(?=px) correspond au 5 dans « 5px » mais exclut le « px », et (?<=€)\d+ correspond au 9 dans « €9 » en exigeant un signe euro précédent. Les lookarounds sont l'une des fonctionnalités qui distinguent les moteurs regex modernes du grep POSIX.

À quoi servent les drapeaux regex ?

Les drapeaux modifient la façon dont le motif entier est appliqué : g (global) trouve chaque correspondance, i le rend insensible à la casse, m (multiligne) fait correspondre ^ et $ à chaque ligne, s (dotall) permet à . de correspondre aux sauts de ligne, u active l'Unicode complet et y (sticky) ancre la correspondance à une position fixe. En JavaScript, vous les ajoutez après le slash de fermeture, donc /cat/gi correspond à « Cat » et « CAT » partout dans le texte. Le testeur de cette page dispose de boutons bascule pour chaque drapeau afin d'observer leur effet en direct.

Comment écrire un regex pour un e-mail, un numéro de téléphone ou une URL ?

Motifs de départ pratiques : e-mail — [\w.+-]+@[\w-]+\.[\w.-]+ ; URL — https?:\/\/[^\s]+ ; téléphone français — 0[1-9]([ .-]?\d{2}){4}, qui correspond à 01 23 45 67 89 et 06.12.34.56.78. Ces motifs sont pragmatiques, pas exhaustifs — la norme officielle des e-mails est bien plus complexe — alors testez-les toujours sur vos données réelles avec le testeur en direct ci-dessus, où chacun s'active en un clic dans la liste des motifs courants.

Comment échapper les caractères spéciaux en regex ?

Placez une barre oblique inverse devant tout métacaractère pour le faire correspondre littéralement. Les caractères qui nécessitent généralement un échappement sont . ^ $ * + ? ( ) [ ] { } | \ et /. Par exemple \. correspond à un point littéral et \$ à un signe dollar, donc \d+\.\d{2} correspond à un prix comme 19,99. À l'intérieur d'une classe de caractères, la plupart de ces caractères perdent leur signification spéciale, donc [.] correspond également à un point littéral sans échappement.

Les dialectes regex diffèrent-ils entre JavaScript, Python et Java ?

La syntaxe de base est commune, mais les détails diffèrent. JavaScript nomme les groupes (?<nom>…) tandis que Python utilise (?P<nom>…) ; Python utilise des chaînes brutes comme r"\d+" et Java nécessite des barres obliques inverses doublées dans les littéraux de chaîne ("\\d+"). Le dotall est le drapeau s en JS, re.DOTALL en Python et Pattern.DOTALL en Java. Le tableau des dialectes sur cette page résume les différences pour Python, Java, PCRE et grep afin que vous puissiez porter un motif d'un langage à l'autre en toute confiance.

Comment utiliser les expressions régulières en Python ?

En Python, les expressions régulières se trouvent dans le module intégré re. Vous écrivez généralement le motif sous forme de chaîne brute et appelez des fonctions comme re.search, re.findall ou re.sub — par exemple re.findall(r"\d+", "a1 b22") renvoie ['1', '22']. Les groupes nommés utilisent (?P<nom>…) et vous les lisez avec match.group('nom'). La référence des tokens de cette page s'applique directement au regex Python ; seules l'API environnante et quelques noms de drapeaux diffèrent de JavaScript.

Comment tester un regex en ligne ?

Utilisez le testeur en direct en haut de cette page : saisissez votre motif entre les barres obliques, activez les drapeaux dont vous avez besoin, et collez une chaîne de test. Les correspondances se surlignent en temps réel, chaque groupe capturant numéroté et nommé est détaillé en dessous, et un motif invalide affiche un message d'erreur en clair plutôt que d'échouer silencieusement — le tout s'exécutant localement dans votre navigateur, donc rien de ce que vous collez n'est envoyé. Des outils comme regex101.com et regexr.com fonctionnent de façon similaire ; celui-ci combine la référence et le testeur sur une seule page.

Comment cet outil se compare-t-il à regex101.com et regexr.com ?

regex101.com est la référence du secteur pour le débogage regex approfondi — il prend en charge plusieurs dialectes (PCRE, Python, Java, .NET, Golang) et fournit une explication détaillée de chaque token de votre motif. regexr.com offre une expérience similaire avec une bibliothèque communautaire de motifs. Les deux sont d'excellents outils dédiés. Cet aide-mémoire UtiloKit est différent : il associe une table de référence des tokens avec un testeur en direct de base sur la même page, vous permettant de chercher quelque chose et de le vérifier en quelques secondes sans changer d'onglet. Pour un travail regex de production complexe, la comparaison de dialectes et le débogueur détaillé de regex101.com sont difficiles à égaler ; pour des consultations rapides en cours de développement, cette page de référence se charge plus vite et ne nécessite aucune navigation.

Pourquoi parle-t-on d'expression « régulière » ?

Le nom vient de la théorie des langages formels. Dans les années 1950, le mathématicien Stephen Kleene décrivit les « ensembles réguliers » — des langages qu'une machine à états finis simple peut reconnaître — et la notation qu'il utilisait pour les décrire devint connue sous le nom d'expression régulière. Les moteurs regex modernes ajoutent des fonctionnalités telles que les références arrières et les lookarounds qui dépassent les langages strictement « réguliers », mais le nom historique est resté.