Passer au contenu

Testeur et Validateur de Regex en Ligne Gratuit - Testez les Motifs Instantanément

Testez et validez des expressions régulières en ligne avec surlignage en temps réel. Testeur de motifs regex gratuit avec validation de syntaxe, résultats de correspondance et fonctionnalité de sauvegarde. Testez votre regex maintenant !

Testeur de Motif Regex

Résultats de Correspondance

Entrez un motif et un texte de test pour voir les résultats

Enregistrer le Motif

Motifs Enregistrés

Aucun motif enregistré pour le moment

Guide des Symboles Regex

.Correspond à n'importe quel caractère sauf un saut de ligne
\dCorrespond à n'importe quel chiffre (0-9)
\DCorrespond à n'importe quel caractère non numérique
\wCorrespond à n'importe quel caractère de mot (a-z, A-Z, 0-9, _)
\WCorrespond à n'importe quel caractère non alphanumérique
\sCorrespond à n'importe quel caractère d'espacement
\SCorrespond à n'importe quel caractère non vide
^Correspond au début de la ligne
$Correspond à la fin de la ligne
*Correspond à 0 ou plusieurs fois le caractère précédent
+Correspond à 1 ou plusieurs fois le caractère précédent
?Correspond à 0 ou 1 fois le caractère précédent
{n}Correspond exactement à n fois le caractère précédent
{n,}Correspond à au moins n fois le caractère précédent
{n,m}Correspond entre n et m fois le caractère précédent
[abc]Correspond à l'un des caractères entre crochets
[^abc]Correspond à tout caractère non compris entre crochets
(abc)Regroupe plusieurs jetons et capture la correspondance
a|bCorrespond à a ou b
\bCorrespond à une position de limite de mot
Calculateur de chargement...
📚

Documentation

Qu’est-ce qu’un testeur d’expressions régulières

Un testeur d’expressions régulières est un outil qui vérifie une expression régulière sur un fragment de texte et affiche les correspondances. Une expression régulière, ou regex, est une courte suite de caractères qui décrit un motif dans un texte, comme « trois chiffres consécutifs » ou « tout mot commençant par une majuscule ». Ce validateur de regex permet de saisir un motif et un texte de test, puis de voir immédiatement les correspondances en surbrillance, sans écrire de code.

Les expressions régulières sont utilisées dans de nombreux langages de programmation pour rechercher du texte, vérifier que les données saisies par l’utilisateur ont le bon format et extraire des éléments précis d’un bloc de texte plus vaste. Leur syntaxe est compacte, mais il est facile de se tromper ; tester un motif avant de l’utiliser dans un programme aide donc à repérer rapidement les erreurs.

Comment tester une expression régulière en ligne

  1. Saisir un motif. Entrez la regex dans le champ du motif. L’outil vérifie la syntaxe pendant la saisie et affiche un message d’erreur si le motif est invalide, par exemple lorsqu’un crochet ou une parenthèse n’est pas fermé.
  2. Choisir les indicateurs. Les indicateurs modifient la manière dont le motif est appliqué (voir ci-dessous).
  3. Saisir le texte de test. Saisissez ou collez le texte à rechercher dans la zone de texte de test.
  4. Lire les résultats. Les correspondances sont mises en surbrillance dans le texte et l’outil indique combien il en a trouvé. Si le texte de test n’est pas vide, il indique également si le motif correspond à l’intégralité du texte, du début à la fin, ou seulement à une partie.
  5. Enregistrer un motif. Un motif peut être enregistré avec une courte étiquette afin d’être réutilisé ultérieurement. Les motifs enregistrés sont conservés dans le navigateur, et non sur un serveur ; ils apparaissent donc uniquement sur le même appareil et dans le même navigateur.
  6. Copier les résultats. Le texte correspondant ou le motif lui-même peut être copié dans le presse-papiers en un clic.

Indicateurs des regex

Un indicateur est une lettre ajoutée après un motif pour modifier son comportement. Cet outil prend en charge quatre indicateurs, seuls ou combinés :

IndicateurNomEffet
gGlobalTrouve toutes les correspondances dans le texte au lieu de s’arrêter à la première.
iInsensible à la casseIgnore les différences entre majuscules et minuscules.
mMultiligneFait correspondre ^ et $ au début et à la fin de chaque ligne, et non seulement au début et à la fin de l’ensemble du texte. Cela modifie l’emplacement des correspondances, mais pas la vérification de l’intégralité du texte décrite ci-dessous.
sPoint sur toutFait également correspondre . aux caractères de saut de ligne.

Les indicateurs peuvent être combinés, par exemple gi pour global et insensible à la casse, ou gms pour global, multiligne et point incluant les retours à la ligne.

Comment l’outil trouve les correspondances

Le moteur de recherche recherche toujours chaque occurrence du motif dans le texte. C’est pourquoi le comptage des correspondances se comporte comme si l’indicateur global était activé, même lorsqu’il n’est pas sélectionné dans la liste déroulante. Chaque correspondance est enregistrée avec sa position et sa longueur, puis le texte original est séparé en éléments correspondants et non correspondants afin de mettre les correspondances en surbrillance.

Pour vérifier qu’un motif correspond à l’intégralité du texte, l’outil place le motif dans un groupe non capturant et l’ancre : ^(?:pattern)$. Le groupement est important, car | (l’alternance) a une priorité moindre que les ancres. Sans le groupe, un motif comme cat|dog ancré sous la forme ^cat|dog$ signifierait en réalité « commence par cat ou se termine par dog », ce qui n’est pas la même chose que « le texte entier est cat ou dog ».

Cette vérification désactive également l’indicateur multiligne. Lorsque m est activé, ^ et $ correspondent à chaque saut de ligne ; le test ancré répondrait donc à la question « une ligne correspond-elle ? » au lieu de « l’ensemble du texte correspond-il ? ». L’outil supprime m pour cette vérification et conserve i et s, car ces deux indicateurs modifient le texte correspondant au motif plutôt que la position des ancres. La réponse concerne donc toujours le texte complet, y compris ses sauts de ligne.

Exemple détaillé

Motif : \d+ (un ou plusieurs chiffres), indicateur : g, texte de test : Room 12 has 5 chairs.

  • Correspondances trouvées : 12 et 5 ; le nombre de correspondances est donc de 2.
  • Vérification de l’intégralité du texte : le motif ne correspond pas à l’ensemble du texte, car celui-ci contient également des lettres et des espaces.

Si le texte de test est remplacé par 12345, le même motif correspond à toute la chaîne ; la vérification de l’intégralité du texte renvoie donc vrai.

Référence de syntaxe des regex

Correspondance de caractères

SymboleSignificationExempleCorrespond
.Tout caractère sauf un saut de lignea.c« abc », « adc », « a1c »
\dTout chiffre, de 0 à 9\d{3}"123", "456"
\DTout caractère qui n’est pas un chiffre\D+« abc », « xyz »
\wToute lettre, tout chiffre ou le caractère de soulignement\w+« abc123 », « test_123 »
\WTout caractère qui n’est ni une lettre, ni un chiffre, ni un caractère de soulignement\W+"!@#"
\sTout caractère d’espacementa\sb« a b »
\STout caractère qui n’est pas un espace\S+« abc »

Ancres de position

SymboleSignificationExempleCorrespond
^Début d’une ligne^abc« abc » au début d’une ligne
$Fin d’une ligneabc$« abc » à la fin d’une ligne
\bLimite de mot\bword\b« word » en tant que mot entier

Quantificateurs

SymboleSignificationExempleCorrespond
*Zéro occurrence ou davantage de l’élément précédenta*b« b », « ab », « aab »
+Une occurrence ou davantage de l’élément précédenta+b« ab », « aab »
?Zéro ou une occurrence de l’élément précédentcolou?r« color », « colour »
{n}Exactement n occurrences de l’élément précédenta{3}« aaa »
{n,}Au moins n occurrences de l’élément précédenta{2,}« aa », « aaa »
{n,m}Entre n et m occurrences de l’élément précédenta{2,4}« aa », « aaa », « aaaa »

Ensembles de caractères et groupes

SymboleSignificationExempleCorrespond
[abc]N’importe lequel des caractères indiqués entre crochets[aeiou]Une seule voyelle quelconque
[^abc]Tout caractère qui n’est pas indiqué entre crochets[^aeiou]Tout caractère qui n’est pas une voyelle
(abc)Regroupe les caractères et capture la correspondance(abc)+« abc », « abcabc »
abCorrespond à a ou bcat

Deux autres fonctionnalités méritent d’être connues. Une anticipation, notée a(?=b), correspond à « a » uniquement lorsqu’il est suivi de « b », sans inclure « b » dans la correspondance. Une post-analyse, notée (?<=a)b, correspond à « b » uniquement lorsqu’il vient immédiatement après « a ».

Exemples courants de motifs

Ces motifs peuvent être collés dans l’outil pour observer leur comportement sur un texte d’exemple.

Chiffres uniquement : ^\d+$ correspond à une chaîne composée exclusivement de chiffres, comme « 48210 », et rejette toute chaîne contenant une lettre ou un espace.

Adresse e-mail (vérification de base) : ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ correspond aux adresses de la forme name@domain.tld, comme « user@example.com ». Il s’agit d’une vérification simple, et non du format complet des adresses e-mail défini par les normes Internet ; certaines adresses inhabituelles mais valides seront donc rejetées.

Numéro de téléphone américain : ^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$ correspond à des formats comme « (123) 456-7890 », « 123-456-7890 » et « 1234567890 ».

Date au format AAAA-MM-JJ : ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$ vérifie que le mois est compris entre 01 et 12 et que le jour est compris entre 01 et 31. Il ne vérifie pas que le jour est valide pour le mois concerné ; il accepte donc « 2024-02-30 », alors que février ne compte jamais 30 jours.

Foire aux questions

Qu’est-ce qu’une expression régulière ? Une expression régulière est une suite de caractères qui définit un motif de recherche. Elle sert à rechercher, faire correspondre et modifier du texte dans la plupart des langages de programmation et des éditeurs de texte.

À quoi sert l’indicateur global ? Sans l’indicateur global, une recherche s’arrête normalement après la première correspondance. Avec l’indicateur global (g), la recherche continue et signale toutes les correspondances du texte. Cet outil recherche toujours toutes les correspondances lors du comptage, quel que soit l’indicateur choisi.

Comment faire correspondre un point littéral ou un autre caractère spécial ? Placez une barre oblique inverse devant celui-ci. Par exemple, \. correspond à un point littéral et non à « n’importe quel caractère », ce que signifie . lorsqu’il n’est pas échappé.

Quelle est la différence entre .* et .*? ? .* est glouton et correspond au plus grand nombre possible de caractères. .*? est paresseux et correspond au plus petit nombre possible de caractères tout en permettant au reste du motif de réussir.

Pourquoi l’outil indique-t-il que le texte ne correspond pas entièrement alors que chaque ligne correspond ? La vérification de l’intégralité du texte le traite comme une seule chaîne, sauts de ligne compris. Un motif comme \d+ correspond séparément à chaque ligne de 12 et de 34, mais les deux lignes et le saut de ligne qui les sépare ne sont pas constitués uniquement de chiffres ; la réponse pour l’ensemble du texte est donc négative. Pour faire correspondre un texte réparti sur plusieurs lignes, le motif doit également couvrir les sauts de ligne, par exemple avec [\s\S]+.

Comment vérifier qu’une chaîne entière correspond à un motif, et pas seulement une partie ? Ajoutez ^ au début et $ à la fin du motif, par exemple ^[0-9]+$ pour une chaîne composée uniquement de chiffres.

Ce testeur applique-t-il les règles des regex des autres langages de programmation ? Cet outil utilise le moteur d’expressions régulières intégré à JavaScript. La majeure partie de la syntaxe de base, comme les classes de caractères et les quantificateurs, est commune à des langages tels que Python, Java et Perl, mais certains détails diffèrent ; un motif qui fonctionne ici ne se comportera donc pas nécessairement de manière identique partout.

Références

  1. "Regular expression." Wikipédia, Wikimedia Foundation. https://en.wikipedia.org/wiki/Regular_expression
  2. MDN Web Docs. "Regular expressions." Mozilla. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
  3. Friedl, J. E. F. (2006). Mastering Regular Expressions. O’Reilly Media.