Aide-mémoire Regex

Référence consultable de plus de 100 jetons regex avec exemples en direct, bibliothèque de motifs courants, testeur intégré et notes inter-variantes pour JS, Python, PCRE et POSIX.

Mis à jour le

Share:
Home/Developer Tools/Regex Cheatsheet Lookup

Regex Cheatsheet Lookup

Searchable reference for 100+ regex tokens with live examples, common pattern library, inline tester, and cross-flavor notes for JavaScript, Python, PCRE, and POSIX.

68 tokens
14 common patterns
4 flavors

Character Classes
13

Any digit (0-9).
\d+Order #12345 on 2024
\dabc 7 xyz
Any non-digit character.
\D+123abc456
Any word character (a-z, A-Z, 0-9, _).
\w+hello_world!
Any non-word character.
\Whi!
Any whitespace (space, tab, newline).
a\sba b
Any non-whitespace character.
\S+ hello
Any character except newline (unless s flag is set).
h.that hot hit
Character set — matches any one of a, b, or c.
[aeiou]hello
Negated character set — any char except a, b, or c.
[^aeiou]+hello
Character range — any lowercase letter.
[a-z]+ABC xyz 123
Any uppercase letter.
[A-Z]+Hello World
Any digit (same as \d in ASCII mode).
[0-9]{3}tel 555 ok
Any alphanumeric character.
[a-zA-Z0-9]+_abc123_

Anchors & Boundaries
7

Start of string (or line with m flag).
^HelloHello world
End of string (or line with m flag).
world$Hello world
Word boundary.
\bcat\bthe cat sat
Non-word boundary.
\Bcatconcatenate
Start of input (PCRE/Python — not JS).
\AHelloHello world
End of input (PCRE/Python — not JS).
world\ZHello world
Absolute end of string (PCRE).
end\zthe end

Quantifiers
11

Zero or more (greedy).
ab*a abbb
One or more (greedy).
ab+a abbb
Zero or one (optional).
colou?rcolor
Exactly n times.
\d{4}year 2024
n or more times.
\d{2,}1 22 333
Between n and m times.
\d{2,4}12345
Lazy zero or more — matches as few as possible.
<.*?><b>hi</b>
Lazy one or more.
\d+?12345
Lazy optional.
ab??ab
Lazy bounded quantifier.
\d{2,4}?12345
Possessive quantifier (PCRE) — no backtracking.
a*+baaab

Groups & Lookarounds
10

Capturing group.
(\d+)-(\d+)2024-04
Non-capturing group.
(?:ab)+ababab
Named capturing group.
(?<year>\d{4})year 2024
Backreference to group 1.
(\w)\1letter
Named backreference.
(?<q>["']).*?\k<q>"hi"
Positive lookahead — followed by abc.
\d+(?=px)10px 20em
Negative lookahead — not followed by abc.
\d+(?!px)10em 20px
Positive lookbehind — preceded by abc.
(?<=\$)\d+price $99
Negative lookbehind — not preceded by abc.
(?<!\$)\d+100 $99
Atomic group (PCRE) — no backtracking.
(?>a+)baaab

Alternation
2

Alternation — matches left OR right.
cat|dogI have a dog
Grouped alternation.
(red|green|blue)sky is blue

Escapes & Special Characters
9

Literal dot.
\.comsite.com
Literal forward slash (needed in /.../ syntax).
\/api/api/v1
Literal backslash.
\\npath\name
Newline character.
a\nba b
Tab character.
\t+a b
Carriage return.
\r\nline
Null character.
\0
Hex character (2 digits).
\x41A
Unicode character (4 hex digits).
\u00e9café

Flags / Modifiers
7

Global — find all matches.
/a/gbanana
Case-insensitive.
/hello/iHELLO
Multiline — ^ and $ match line starts/ends.
/^foo/mbar foo
Dotall — . matches newlines.
/a.b/sa b
Unicode mode — enables \p{} and proper unicode handling.
/\p{L}/ucafé
Sticky — matches only at lastIndex (JS).
/foo/yfoofoo
Extended — ignore whitespace & allow comments (PCRE/Python).
/ \d+ /xnum 42

Unicode Properties
9

Any Unicode letter (requires u flag in JS).
\p{Letter}+café123
Short form for Letter.
\p{L}
Any Unicode numeric character.
\p{Number}+abc123
Short form for Number.
\p{N}
Uppercase letter.
\p{Lu}+Hello
Lowercase letter.
\p{Ll}+Hello
Punctuation character.
\p{Punct}hi!
Characters from a specific script.
\p{Script=Greek}+hi Αθήνα
Negated — any non-letter.
\P{L}+abc 123

Questions Fréquentes

Qu'est-ce que le Regex Cheatsheet Lookup ?

Le Regex Cheatsheet Lookup est un outil en ligne gratuit : une référence consultable de plus de 100 jetons de regex avec des exemples en direct, une bibliothèque de motifs courants, un testeur intégré et des notes inter-variantes pour JS, Python, PCRE et POSIX. Il fonctionne entièrement dans votre navigateur, sans installation ni inscription.

Quelles variantes de regex sont couvertes ?

JavaScript (ECMAScript), Python (re/regex), PCRE (PHP/Perl) et POSIX (BRE/ERE). L'onglet Variantes met en évidence les différences : ancres \A/\Z, quantificateurs possessifs, classes POSIX.

Le testeur intégré s'exécute-t-il localement ?

Oui. Chaque correspondance et surbrillance est calculée dans votre navigateur via l'objet natif RegExp de JavaScript. Rien n'est envoyé à un serveur.

Puis-je copier les motifs directement ?

Oui : cliquez sur Copier à côté de n'importe quel jeton ou motif courant (Email, URL, IPv4, UUID, mot de passe fort, etc.) pour placer le motif brut dans votre presse-papiers.

Le Regex Cheatsheet Lookup est-il gratuit ?

Oui, le Regex Cheatsheet Lookup est 100% gratuit, sans inscription, sans frais cachés et sans limite d'utilisation. Tout le traitement s'effectue localement dans votre navigateur, garantissant une confidentialité totale.

Mes données sont-elles en sécurité avec cet outil ?

Absolument. Le Regex Cheatsheet Lookup traite tout côté client, dans votre navigateur. Aucune donnée n'est envoyée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.

Le Regex Cheatsheet Lookup fonctionne-t-il sur les appareils mobiles ?

Oui, le Regex Cheatsheet Lookup est entièrement responsive et fonctionne sur smartphones et tablettes. Vous pouvez l'utiliser sur n'importe quel appareil doté d'un navigateur web moderne, sans aucun téléchargement d'application.

Dois-je créer un compte pour utiliser cet outil ?

Aucun compte ni inscription n'est nécessaire. Ouvrez simplement le Regex Cheatsheet Lookup dans votre navigateur et commencez à l'utiliser immédiatement. Il n'y a ni barrière d'inscription ni restriction d'utilisation.

Quels langages de programmation ou formats cet outil prend-il en charge ?

Le Regex Cheatsheet Lookup prend en charge un large éventail de formats et de langages populaires. Consultez l'interface de l'outil pour la liste complète des options prises en charge.

Comment utiliser le Regex Cheatsheet Lookup ?

Saisissez simplement votre entrée dans le champ prévu, ajustez les paramètres selon vos préférences, et l'outil la traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.

Quelle est la différence entre les quantificateurs gourmands (greedy) et paresseux (lazy) en regex ?

Les quantificateurs gourmands comme *, + et {n,m} capturent le plus de texte possible, puis ne reculent (backtrack) que si le reste du motif échoue. Les quantificateurs paresseux, obtenus en ajoutant un ? (soit *?, +?, ??, {n,m}?), capturent le moins de texte possible et n'étendent leur portée que si nécessaire. L'exemple classique est <.*> appliqué à "<b>hi</b>" : la version gourmande capture toute la chaîne du premier < jusqu'au dernier >, tandis que la version paresseuse <.*?> s'arrête au premier >, ne capturant que "<b>". Les quantificateurs paresseux sont indispensables pour extraire des balises individuelles, des chaînes entre guillemets ou des champs délimités sans en capturer trop. La section Quantificateurs du cheatsheet liste chaque forme gourmande et paresseuse avec des exemples concrets, et vous pouvez tester un motif directement dans le testeur intégré pour observer la différence de comportement sur votre propre texte avant de l'intégrer à votre code.

Quelle est la différence entre lookahead et lookbehind en regex ?

Ce sont tous deux des assertions de largeur nulle : elles vérifient la présence de texte autour d'une position sans le consommer ni l'inclure dans la correspondance. Le lookahead vérifie ce qui suit. (?=abc) est positif (doit être suivi de abc) et (?!abc) est négatif (ne doit pas l'être). Ainsi, \d+(?=px) capture les chiffres de "10px" en laissant "px" hors du résultat. Le lookbehind vérifie ce qui précède : (?<=abc) positif et (?<!abc) négatif, si bien que (?<=\$)\d+ récupère 99 dans "$99" sans capturer le signe dollar. JavaScript prend en charge le lookbehind depuis ES2018, mais certains moteurs plus anciens et les variantes POSIX en sont totalement dépourvus. La section Groupes et lookarounds du cheatsheet présente les quatre assertions avec des exemples, et le testeur en direct permet de vérifier précisément quels caractères font partie de la correspondance et lesquels relèvent uniquement de l'assertion.

Pourquoi ma regex ne capture rien ou se bloque sur une grande entrée ?

Une regex qui ne capture rien a généralement un caractère spécial non échappé, un drapeau incorrect, ou un problème d'ancrage : ^ et $ ne correspondent aux limites de ligne que si le drapeau m est activé, et . ignore les sauts de ligne sauf si vous ajoutez le drapeau s. Une regex qui se bloque relève presque toujours d'un retour arrière catastrophique (catastrophic backtracking), causé par des quantificateurs imbriqués comme (a+)+ ou une alternance qui se chevauche, forçant le moteur à tester un nombre exponentiel de chemins sur une chaîne qui ne correspond pas. Les solutions consistent à rendre les quantificateurs plus précis, à utiliser des groupes atomiques ou des quantificateurs possessifs en PCRE, ou à réécrire le motif pour éliminer l'ambiguïté. Le testeur intégré aide dans les deux cas : il affiche le message d'erreur exact de RegExp lorsqu'un motif est invalide, et il surligne chaque correspondance pour que vous voyiez immédiatement si votre motif sur-capture, manque des cas limites, ou ne renvoie rien.

Pourquoi \d ne fonctionne-t-il pas dans grep, sed ou awk ?

Ces outils utilisent les expressions régulières POSIX, qui ne définissent pas les classes raccourcies \d, \w ou \s que vous connaissez en JavaScript, Python ou PCRE. En POSIX, on utilise à la place des expressions entre crochets : [[:digit:]] pour les chiffres, [[:alpha:]] pour les lettres, [[:alnum:]] pour les caractères alphanumériques, et [[:space:]] pour les espaces. POSIX se divise en outre en deux dialectes : BRE (basic, utilisé par grep et sed) exige des antislashs devant \(, \), \{, \? et \+, tandis qu'ERE (extended, utilisé par grep -E et egrep) les traite comme spéciaux par défaut. POSIX ne dispose ni de lookaround, ni de quantificateurs non-gourmands, et n'a qu'un support limité des références arrière. L'onglet Flavors détaille précisément les fonctionnalités prises en charge par chaque moteur, afin que vous puissiez vérifier, avant de porter un motif de votre code vers une commande shell, si les raccourcis et assertions dont vous dépendez y existent réellement.

Comment trouver toutes les correspondances au lieu de la première seulement ?

Par défaut, une regex ne renvoie que la première correspondance. Pour trouver toutes les occurrences, il faut ajouter le drapeau global, g, au motif. Sans g, les méthodes exec et match de JavaScript ne renvoient que le premier résultat ; avec g activé, match renvoie un tableau de toutes les correspondances, et une boucle avec exec parcourt chacune d'elles. Le drapeau g suit également la position via lastIndex, ce qui explique pourquoi des appels répétés à une regex globale avancent progressivement dans la chaîne. Combinez g avec i pour une correspondance insensible à la casse sur tout le texte. Dans le testeur intégré, saisissez g dans le champ des drapeaux et le compteur de correspondances se met à jour pour afficher chaque occurrence, surlignée et listée avec son index de caractère ; retirez g et vous verrez le résultat revenir à la seule première correspondance. La section Flags explique g, i, m, s, u et y avec des exemples.

À propos de l'outil de recherche Regex Cheatsheet

L'outil de recherche Regex Cheatsheet est une référence gratuite et consultable sur les expressions régulières, associée à un testeur en direct qui vous permet de vérifier qu'un motif fonctionne avant de le coller dans votre code. La syntaxe des regex est dense et facile à oublier — était-ce \d ou [:digit:], JavaScript prend-il en charge \A, *? est-il paresseux ou possessif ? — et cet outil met la réponse à une simple recherche de distance. Il est conçu pour les développeurs, les manipulateurs de données et toute personne qui n'utilise les regex que rarement, juste assez pour en oublier les détails entre deux usages.

Tout s'exécute localement dans votre navigateur grâce au moteur RegExp natif de JavaScript. Rien de ce que vous saisissez dans le testeur n'est envoyé ni stocké : vous pouvez donc coller des lignes de logs, des enregistrements d'exemple ou des chaînes non publiées sans qu'elles quittent votre appareil. Aucune inscription, aucune limite d'utilisation, rien à installer.

Quatre onglets, une seule référence

L'outil est organisé en quatre onglets :

  • Cheatsheet — des dizaines de jetons regex répartis en huit sections : classes de caractères, ancres et limites, quantificateurs, groupes et lookarounds, alternance, échappements, drapeaux (flags) et propriétés Unicode. Chaque entrée associe un jeton à une description en langage clair et un exemple concret montrant la sous-chaîne correspondante surlignée dans un texte réel.
  • Patterns — une bibliothèque de 14 motifs prêts à l'emploi pour les tâches de validation courantes (e-mail, URL HTTP/HTTPS, IPv4, IPv6, numéros de téléphone américains et au format E.164, carte bancaire, date ISO, couleur hexadécimale, mot de passe robuste, code postal américain, slug d'URL, UUID v4 et nom d'utilisateur). Chacun est accompagné d'une explication et de chaînes d'exemple.
  • Tester — un champ pour le motif, un champ pour les drapeaux et une zone de texte de test qui se met à jour en temps réel.
  • Flavors — des notes comparatives sur les différences entre JavaScript, Python, PCRE et POSIX.

Rechercher et copier des jetons

Saisissez du texte dans le champ de recherche de l'onglet Cheatsheet pour filtrer toutes les sections à la fois — la recherche porte sur les noms de jetons, les descriptions ainsi que les motifs et exemples de saisie, si bien que taper lookbehind, lazy ou \b réduit instantanément la liste. Cliquez sur n'importe quel jeton pour le copier dans votre presse-papiers, et utilisez le bouton Copier à côté d'un motif courant pour récupérer l'expression brute. Le bouton Test d'une carte de motif le charge directement dans le testeur avec une chaîne d'exemple, afin que vous puissiez le voir fonctionner sans rien retaper.

Comment fonctionne le testeur intégré

Le testeur compile votre motif avec les drapeaux fournis et l'évalue sur votre chaîne de test au fur et à mesure de la saisie. Il indique le nombre total de correspondances, surligne chacune d'elles dans le texte, et les liste avec leur index de caractère — utile pour repérer les correspondances qui se chevauchent ou celles qui sont vides, marquées . Avec le drapeau global (g) activé, il trouve toutes les correspondances ; sans lui, seulement la première. Si le motif est invalide, le message d'erreur exact de RegExp s'affiche, ce qui permet de corriger la syntaxe plutôt que de deviner. Comme il utilise le moteur natif du navigateur, le comportement observé reflète fidèlement celui de Node.js et du code front-end.

Quelques repères à garder en tête, tous détaillés dans l'onglet Flavors :

  • Le drapeau g renvoie toutes les correspondances, i ignore la casse, m fait correspondre ^ et $ aux limites de ligne, s permet à . de correspondre aux sauts de ligne, et u active les propriétés Unicode telles que \p{L}.
  • Le lookbehind ((?<=...) et (?<!...)) fonctionne en JavaScript depuis ES2018.
  • Les ancres \A, \Z et \z existent en PCRE et en Python mais pas en JavaScript — utilisez ^ et $ à la place.
  • Les variantes POSIX n'ont ni \d, ni \w, ni \s ; on utilise à la place des classes entre crochets telles que [[:digit:]] et [[:alpha:]].

Pourquoi une référence testée fait la différence

Une regex incorrecte échoue silencieusement. Un motif qui semble juste peut sur-capturer, manquer des cas limites, ou déclencher un retour arrière catastrophique qui bloque le moteur sur certaines entrées. La vérifier sur des exemples réels avant de la déployer transforme une hypothèse en expression validée. L'outil de recherche Regex Cheatsheet réunit au même endroit la référence syntaxique, une bibliothèque de motifs éprouvés et un testeur en direct — de quoi retrouver un jeton, copier un motif fiable, et prouver qu'il fonctionne en quelques secondes.