Aller au contenu principal

Qu'est-ce que la fonction REGEXMATCH ?

Définition
La fonction REGEXMATCH (Google Sheets uniquement) vérifie si un texte correspond à une expression régulière et retourne VRAI ou FAUX. Elle utilise la syntaxe RE2 de Google.

Tu sors REGEXMATCH quand un format ne se laisse pas décrire par un TROUVE ou un CHERCHE tout simple, parce qu'il varie légèrement d'une ligne à l'autre ou combine plusieurs règles à la fois : elle t'évite d'empiler des ET, des OU et des fonctions texte imbriquées pour un seul contrôle.

C'est l'outil parfait pour valider des formats complexes comme les emails, numéros de téléphone, codes produits ou identifiants clients. Fini la validation manuelle ligne par ligne : REGEXMATCH automatise le contrôle sur des milliers de lignes en une seule formule.

Syntaxe

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction REGEXMATCH

REGEXMATCH prend deux arguments, et l'ordre compte : d'abord le texte à examiner, ensuite le motif regex qui dit ce qu'on y cherche. Les deux sont obligatoires, donc aucun raccourci à deux arguments seulement. Le piège classique, c'est d'inverser les deux et de chercher ton texte comme s'il était un pattern.

1

texte

: le texte que tu veux analyser

Ça peut être une référence de cellule comme A2, une chaîne de caractères directe entre guillemets comme "test@email.com", ou le résultat d'une autre fonction qui retourne du texte.

Si la cellule est vide, REGEXMATCH retourne FAUX.

2

expression_régulière

: le pattern regex à rechercher dans le texte

C'est une chaîne de caractères qui suit la syntaxe des expressions régulières RE2. Par exemple, "^[0-9]+$" vérifie que le texte contient uniquement des chiffres du début à la fin.

Caractères spéciaux courants : ^ (début de ligne), $ (fin de ligne), . (n'importe quel caractère), * (0 ou plus), + (1 ou plus), [a-z] (plage de caractères), \d (chiffre), \s (espace), | (OU logique).

Vrai ou faux ?
« REGEXMATCH vérifie que toute ma cellule respecte le format. » Faux par défaut : sans ancres, elle renvoie VRAI dès que le motif apparaît quelque part, donc REGEXMATCH("abc123def"; "[0-9]+") donne VRAI. Encadre ton motif d'un ^ au début et d'un $ à la fin pour exiger une correspondance sur la cellule entière.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment vérifier qu'un code respecte un format avec la fonction REGEXMATCH

Les codes produits de ta boîte suivent une nomenclature stricte : trois lettres majuscules pour la catégorie, un tiret, quatre chiffres pour l'année, un tiret, trois chiffres pour le numéro. Avant d'injecter les nouveaux codes dans l'ERP, tu veux repérer d'un coup ceux qui sortent du cadre, sans relire les lignes une à une. La fonction REGEXMATCH compare chaque code au format attendu et rend son verdict.

Les étapes
  1. 1
    Dans une cellule, écris =REGEXMATCH(.
  2. 2
    En 1er argument : clique sur la cellule qui contient le code à contrôler, A2. C'est le code produit tel qu'il a été saisi, et la fonction va le comparer au format attendu.
  3. 3
    En 2ᵉ argument : écris entre guillemets le format attendu, "^[A-Z]{3}-\d{4}-\d{3}$". Il se lit « début de cellule, exactement trois lettres majuscules, un tiret, quatre chiffres, un tiret, trois chiffres, fin de cellule ». Sans le ^ et le $, un code noyé dans d'autre texte passerait quand même le contrôle.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=REGEXMATCH(A2; "^[A-Z]{3}-\d{4}-\d{3}$")
Explication
Ce sont les ancres qui font tout le travail : ^ exige le début de la cellule et $ sa fin, donc le code doit coller au motif en entier, et pas seulement le contenir quelque part. PRD2024156 échoue faute de tirets, PR-2024-001 parce qu'il n'a que deux lettres. Note l'affichage : Google Sheets écrit TRUE et FALSE en anglais, même dans une feuille réglée sur la France.
Exemple 2

Comment tester plusieurs mots-clés d'un coup avec la fonction REGEXMATCH

Ta boîte de réception mélange des demandes anodines et des messages qui ne peuvent pas attendre. Tu veux faire remonter automatiquement ceux qui contiennent un mot d'alerte, quelle que soit la façon dont il est écrit, pour les traiter en premier le matin. La fonction REGEXMATCH teste les trois mots d'un seul coup, là où il faudrait sinon empiler des conditions.

Les étapes
  1. 1
    Dans une cellule, écris =REGEXMATCH(.
  2. 2
    En 1er argument : clique sur la cellule qui porte le message à analyser, A2. C'est le texte reçu dans la boîte, et la fonction y cherche l'un des mots d'alerte.
  3. 3
    En 2ᵉ argument : écris entre guillemets tes mots-clés séparés par une barre verticale, "(?i)urgent|prioritaire|réclamation". Le (?i) placé en tête rend toute la recherche insensible aux majuscules, et chaque | ajoute une possibilité de plus, si bien que le motif est vrai dès qu'un de ces mots apparaît.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=REGEXMATCH(A2; "(?i)urgent|prioritaire|réclamation")
Explication
Le | se lit « ou » : le motif est vrai dès que l'un des trois mots apparaît. Ici il n'y a volontairement ni ^ ni $, donc la correspondance est partielle, et c'est ce qui permet à urgente de déclencher le mot urgent. Le préfixe (?i) ignore la casse, sans quoi le Réclamation en majuscule passerait à travers.
Exemple 3

Comment afficher un message lisible avec les fonctions REGEXMATCH et SI

Ton fichier de contrôle circule maintenant dans l'équipe, et une colonne remplie de TRUE et de FALSE ne dit à personne quoi en faire. Tu veux que chaque ligne annonce elle-même la consigne, pour que le fichier se suffise à lui-même sans que tu aies à l'expliquer. Il suffit de confier le verdict de la fonction REGEXMATCH à une fonction SI, qui le traduit en clair.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le contrôle à évaluer et referme-le, REGEXMATCH(A2; "^[A-Z]{3}-\d{4}-\d{3}$"). C'est lui le test logique de SI, et il ne peut répondre que par vrai ou faux, exactement ce que SI attend.
  3. 3
    En 2ᵉ argument : écris entre guillemets ce qui s'affiche quand le code respecte le format, "Conforme".
  4. 4
    En 3ᵉ argument : écris entre guillemets ce qui s'affiche quand le code sort du cadre, "À corriger".
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=SI(REGEXMATCH(A2; "^[A-Z]{3}-\d{4}-\d{3}$"); "Conforme"; "À corriger")
Explication
La fonction REGEXMATCH ne sait répondre que par vrai ou faux, et ça tombe bien : c'est exactement ce que la fonction SI attend comme test. La colonne n'affiche donc plus une valeur logique brute mais l'action à mener, lisible par quelqu'un qui n'a jamais vu une expression régulière de sa vie.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction REGEXMATCH

Avec REGEXMATCH, les ennuis viennent du pattern lui-même bien plus que de la cellule. Un point que tu oublies d'échapper (. veut dire « n'importe quel caractère »), des ancres ^ et $ manquantes qui transforment une vérification complète en simple « contient », ou un motif trop laxiste qui laisse tout passer.

Et n'oublie jamais le terrain de jeu : si tu tapes REGEXMATCH dans Excel, tu récoltes un #NOM?, car la fonction n'existe que dans Google Sheets.

Oublier d'échapper les caractères spéciaux

Les caractères ., *, +, ?, [, ], (, ), {, }, |, \, ^, $ ont une signification spéciale en regex. Si tu veux chercher un point littéral (par exemple dans V.2.0), tu dois l'échapper avec un antislash : \.

Solution : Pour chercher V.2.0 littéralement, utilise "V\.2\.0" et non "V.2.0" (qui signifierait V + n'importe quel caractère + 2 + n'importe quel caractère + 0). Quand tu n'es pas sûr, teste sur regex101.com avant d'implémenter.

Confondre correspondance partielle et correspondance complète

Par défaut, REGEXMATCH cherche le pattern n'importe où dans le texte. =REGEXMATCH("abc123def"; "123") retourne VRAI car 123 est présent quelque part. Si tu veux que tout le texte corresponde exactement au pattern, tu dois utiliser les ancres.

Solution : Ajoute ^ au début et $ à la fin pour ancrer le pattern : pour vérifier qu'une cellule contient uniquement des chiffres, utilise "^[0-9]+$" et non "[0-9]+" (qui accepterait aussi abc123def).

Erreur #NOM? : REGEXMATCH utilisée dans Excel

REGEXMATCH est exclusive à Google Sheets. Si tu l'utilises dans Excel, tu obtiens #NOM? car Excel ne reconnaît pas cette fonction native en formule standard.

Solution : Dans Excel, utilise des combinaisons de TROUVE, STXT, SUBSTITUE pour les cas simples. Pour des validations complexes, explore Power Query ou crée une fonction VBA personnalisée. Pour les projets nécessitant des regex, la migration vers Google Sheets est l'option la plus rapide.

Regex trop permissive ou trop stricte

Une regex mal calibrée peut accepter des valeurs invalides (trop permissive, ex. ".*@.*" valide n'importe quel texte avec un @) ou rejeter des valeurs valides (trop stricte, ex. une extension en 2 lettres rejetée par {3}).

Solution : Teste toujours ta regex sur des cas limites : valeurs valides minimales, maximales, avec caractères spéciaux, avec majuscules, etc. Utilise regex101.com (mode JavaScript, proche de la syntaxe Google Sheets) pour valider avant d'implémenter.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

REGEXMATCH vs TROUVE vs REGEXEXTRACT

Prends REGEXMATCH quand tu veux juste un verdict VRAI/FAUX sur un format (un email, un code produit) sans rien récupérer du texte. Si tu cherches une chaîne fixe et que tu as besoin de sa position, TROUVE suffit et a l'avantage de marcher aussi dans Excel. Et si tu veux ressortir le bout de texte qui colle au motif plutôt qu'un oui/non, c'est REGEXEXTRACT qu'il te faut.

Attention : REGEXMATCH et REGEXEXTRACT sont réservées à Google Sheets, seul TROUVE passe partout.

CritèreREGEXMATCHTROUVEREGEXEXTRACT
Valeur retournéeVRAI/FAUXPosition (nombre)Texte extrait
Patterns complexes✅ Oui (regex)❌ Non (texte exact)✅ Oui (regex)
Cas d'usage principalValidation de formatRecherche simpleExtraction de données
Disponibilité Excel❌ Google Sheets uniquement✅ Excel et Google Sheets❌ Google Sheets uniquement
Facilité d'apprentissage⭐⭐⭐⭐⭐⭐⭐
Le savais-tu ?
Tu peux tester plusieurs formats d'un coup avec l'opérateur | : REGEXMATCH(A2; "urgent|important|prioritaire") renvoie VRAI dès que l'un des trois mots apparaît, ce qui reste bien plus lisible que d'empiler des SI ou des OU.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec REGEXMATCH

1Astuce

Combine avec SI pour des messages explicites

Utilise =SI(REGEXMATCH(A2; pattern); "Format valide"; "ERREUR : vérifier le format") pour obtenir un message lisible au lieu d'un simple VRAI/FAUX. Très utile pour les fichiers partagés avec des collègues non techniques qui doivent comprendre l'action à mener.
Si tu as beaucoup de lignes, NB.SI(B:B; VRAI) te donne en un coup le nombre total de lignes valides pour un indicateur de qualité.

2Astuce

Stocke tes patterns dans des cellules dédiées

Au lieu d'écrire le pattern directement dans chaque formule, mets-le dans une cellule fixe (ex. Z1), puis utilise =REGEXMATCH(A2; $Z$1). Si tu dois ajuster le pattern, tu le modifies une seule fois et toutes les formules se mettent à jour automatiquement.
C'est particulièrement utile pour les patterns d'email ou de code produit que toute ton équipe partage.

3Astuce

Utilise (?i) pour ignorer la casse

Au lieu d'écrire [a-zA-Z] partout, ajoute le modificateur (?i) au début de ton expression : "(?i)[a-z]" rend toute la regex insensible à la casse. Pratique pour valider des codes produits peu importe que l'utilisateur ait saisi en majuscules ou en minuscules.
C'est plus lisible que de dupliquer les plages de caractères.

FAQ

Questions fréquentes

Non, REGEXMATCH est spécifique à Google Sheets. Dans Excel, tu obtiens l'erreur #NOM? si tu l'utilises. Pour des cas simples dans Excel, des combinaisons de TROUVE, CHERCHE et SUBSTITUE peuvent suffire. Pour des validations complexes, explore Power Query (langage M) ou crée une fonction VBA personnalisée.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction REGEXMATCH : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir