Fonction Excel : REGEX.TEST (2/3)

Quantité de caractères

Les quantificateurs permettent de préciser combien de fois un caractère peut apparaître. Pour préciser une quantité ou une plage de quantités, ajoutez des {} après le caractère concerné.


Par exemple :

La regex "Pois{1,}on" vérifie ici si le texte contient ce mot avec aucun, un ou plusieurs "s" :

=REGEX.TEST(A2;"Pois{1,}on")

excel fonction regex test classe caracteres quantite 2

Il existe également 3 raccourcis pratiques pour quantifier un caractère :

La regex "Pois+on" est donc identique à la précédente :

=REGEX.TEST(A2;"Pois+on")

excel fonction regex test classe caracteres quantificateur 2

Test d'une structure

Pour tester la structure d'un texte (par exemple une référence, une URL, un numéro de téléphone, etc.), vous devrez utiliser plusieurs éléments vus jusque-là dans une seule expression.

Par exemple, pour valider la regex "^XLP-[0-9]{4}-" le texte doit :

=REGEX.TEST(A2;"^XLP-[0-9]{4}-")

excel fonction regex test ref 2

Caractères spéciaux

Les métacaractères sont des caractères spéciaux qui ont un rôle particulier (vous connaissez déjà ^ $ [ ] | ? * + { }).

Pour annuler l'effet d'un métacaractère et le considérer comme un simple caractère, précédez-le par un \ (sauf lorsque le métacaractère est dans une classe de caractères).

Grâce à \, la regex " \?$" peut vérifier si le texte se termine par " ?" :

=REGEX.TEST(A2;" \?$")

excel fonction regex test antislash 2

Les métacaractères sont \ ^ $ . [ ] | ( ) ? * + { }.
De plus, notez que \t équivaut à une tabulation, \r à un retour chariot et \n à un saut de ligne.

Raccourcis de classes

Vous le savez maintenant, les classes de caractères permettent de définir les caractères autorisés ou non. Sachez qu'il existe quelques raccourcis bien pratiques pour simplifier cela :

La regex "^[A-Z]{2}.\w{4}$" vérifie ici si le texte commence par 2 caractères de la plage A-Z, suivi de n'importe quel caractère (sauf le saut de ligne), suivi (et se termine par) 4 caractères alphanumériques :

=REGEX.TEST(A2;"^[A-Z]{2}.\w{4}$")

excel fonction regex test raccourcis classe 2

Recherche en ignorant la casse

Pour rechercher le mot "excel" en ne tenant pas compte des majuscules ou des minuscules, ajoutez (?i) en début de regex "(?i)excel" :

=REGEX.TEST(A2;"(?i)excel")

excel fonction regex test insensible casse 2

Ou, plus simple encore, vous pouvez entrer directement la valeur 1 en troisième argument de la fonction REGEX.TEST :

=REGEX.TEST(A2;"excel";1)

excel fonction regex test argument insensible casse 2

Test d'une adresse email

Une regex pour tester la validité d'une adresse email (en version simplifiée) pourrait ressembler à "^[a-z0-9_.-]+@[a-z0-9_.-]{2,}\.[a-z]{2,}$".

Pour valider cette regex le texte doit :

=REGEX.TEST(A2;"^[a-z0-9_.-]+@[a-z0-9_.-]{2,}\.[a-z]{2,}$")

excel fonction regex test email 2

Le raccourci \w n'est pas utilisé ici à la place de [a-zA-Z0-9_] car \w comprend aussi les caractères accentués, ce qui n'est pas souhaitable ici.