Fonction Excel : REGEX.TEST (3/3)

Texte contenant une valeur puis une autre

La regex "regex.*amusant" vérifie si le texte contient "regex" puis "amusant" plus loin sur la même ligne :

=REGEX.TEST(A2;"regex.*amusant")

excel fonction regex test et 3

Parenthèses

La regex "^\d{4}-\d{4}-\d{4}-\d{4}$" vérifie ici si le texte correspond exactement à la structure souhaitée (soit 4x 4 chiffres séparés par des "-") :

=REGEX.TEST(A2;"^\d{4}-\d{4}-\d{4}-\d{4}$")

excel fonction regex test structure numero 3

Vous pouvez remarquer que l'expression -\d{4} est présente 3 fois de suite. Pour indiquer que cette partie doit être répétée 3 fois, ajoutez des parenthèses suivi d'un quantificateur (-\d{4}){3}.

La regex devient donc "^\d{4}(-\d{4}){3}$" :

=REGEX.TEST(A2;"^\d{4}(-\d{4}){3}$")

excel fonction regex test parentheses 3

Les parenthèses permettent également de capturer des parties du texte, elles seront utilisées avec les fonctions REGEX.REMPLACER et REGEX.EXTRAIRE.

Parenthèses et alternatives

La regex "^https://(www\.)?(excel|sheets)-pratique\.com" vérifie si le texte est une URL du site "excel-pratique.com" ou "sheets-pratique.com" :

Pour valider cette regex le texte doit :

=REGEX.TEST(A2;"^https://(www\.)?(excel|sheets)-pratique\.com")

excel fonction regex test url site 3

REGEX.TEST

La fonction REGEX.TEST renvoie VRAI ou FAUX, vous pouvez donc combiner cette fonction avec d'autres pour retourner des valeurs différentes.

Par exemple avec la fonction SI :

=SI(REGEX.TEST(A2;"^https://(www\.)?(excel|sheets)-pratique\.com");"URL valide :-)";"URL invalide ...")

excel fonction regex test si png 3

Vous pouvez même vous en servir avec vos mises en forme conditionnelles :

excel fonction regex test mfc png 3

Assertions

Les assertions permettent de vérifier une condition autour d'une expression.

Remplacez ici les "..." par l'expression utile :

La regex "\w+(?=,)" vérifie s'il n'y a au moins un mot de 1 ou plusieurs caractères directement suivi par une virgule :

=REGEX.TEST(A2;"\w+(?=,)")

excel fonction regex test assertions 3

Avec la fonction REGEX.TEST, les assertions ne sont pas d'un grand intérêt (dans ce cas, on aurait pu simplement écrire \w+,). En revanche avec la fonction REGEX.EXTRAIRE elles pourront se révéler plus utiles.

Références arrière

Les références arrière permettent de réutiliser un morceau de texte capturé plus tôt dans la regex.

Lorsque vous mettez une partie de l'expression entre (), elle devient un groupe capturant, et vous pouvez y faire référence plus tard avec \1, \2, etc., selon l'ordre des groupes.

La regex "(\b\w+\b).*\b\1\b" vérifie si un mot est présent au moins 2 fois (pour rappel, \b permet de délimiter le début et la fin d'un mot) :

=REGEX.TEST(A2;"(\b\w+\b).*\b\1\b";1)

excel fonction regex test references arrieres 3

Il est parfois utile d'avoir des parenthèses non capturantes. Pour faire cela, ajoutez ?: après la parenthèse d'ouverture, par exemple : (?:...).

Fonction REGEX.REMPLACER

La fonction REGEX.REMPLACER effectue des remplacements dans le texte en fonction d'une regex.

Des exemples d'utilisation sont disponibles sur la page de la fonction REGEX.REMPLACER.

Fonction REGEX.EXTRAIRE

La fonction REGEX.EXTRAIRE extrait une ou plusieurs parties du texte en fonction d'une regex.

Des exemples d'utilisation sont disponibles sur la page de la fonction REGEX.EXTRAIRE.