Fonction Excel : REGEX.TEST
La fonction REGEX.TEST vérifie si une partie d'un texte correspond à une expression régulière et renvoie la valeur VRAI ou FAUX en fonction de ce test.
L'utilisation d'une expression régulière (ou "regex") permet de réaliser des tests complexes avec une formule courte et efficace.
Elle permet par exemple de vérifier la validité d'un numéro de téléphone ou d'une adresse email, si un texte contient certaines valeurs, si un texte respecte une structure définie, etc.
Utilisation :
=REGEX.TEST(texte; regex)
ou :
=REGEX.TEST(texte; regex; casse)
Comprendre les expressions régulières
L'écriture d'une expression régulière peut sembler complexe et être assez décourageante au premier abord.
Pour vous aider à mieux les appréhender, vous trouverez sur cette page (et les suivantes) une série d'exemples utilisant des expressions régulières, par ordre croissant de difficulté.
Texte contenant
La regex "expression" recherche ce mot à l'intérieur du texte.
=REGEX.TEST(A2;"expression")
La fonction REGEX.TEST retourne ensuite VRAI ou FAUX en fonction du résultat :

Texte commençant par
La regex "^C'est" vérifie si le texte commence par "C'est" :
=REGEX.TEST(A2;"^C'est")

^ placé en début de regex indique que le texte doit commencer par cette expression.Texte se terminant par
La regex "te$" vérifie si le texte se termine par "te" :
=REGEX.TEST(A2;"te$")

$ placé en fin de regex indique que le texte doit finir par ce mot.Alternatives de texte
La regex "press|ion" vérifie si le texte contient "press" ou "ion" :
=REGEX.TEST(A2;"press|ion")

| indique une alternative (l'équivalent d'un "ou").Caractères autorisés
Les classes de caractères sont définies entre [] et indiquent quels sont les caractères autorisés. Par exemple, la classe [abc] signifie que le caractère peut être soit "a", "b" ou "c".
La regex "[aeiouy]tion" vérifie donc si le texte contient une voyelle suivie de "tion" :
=REGEX.TEST(A2;"[aeiouy]tion")

[abc]) correspond à un seul caractère dans la recherche.Plage de caractères autorisés
Pour éviter de lister l'alphabet entier dans une classe de caractères, il est possible de préciser des plages de caractères à l'aide du caractère -.
Par exemple :
- [a-z] : lettre en minuscule dans la plage
a-z - [A-Z] : lettre en majuscule dans la plage
A-Z - [a-zA-Z] : lettre dans la plage
a-zouA-Z - [0-9] : chiffre dans la plage
0-9
La regex "^[A-Z][1-6]" vérifie si le texte commence par une lettre en majuscule suivie d'un chiffre de 1 à 6 :
=REGEX.TEST(A2;"^[A-Z][1-6]")

Caractères non autorisés
Pour préciser une négation (autrement dit, "tous les caractères sauf"), ajoutez un ^ au début de la classe.
La regex "[^6-9]$" vérifie si le texte se termine par n'importe quel caractère sauf un chiffre dans la plage 6 à 9 :
=REGEX.TEST(A2;"[^6-9]$")
