Utilisez la fonction Matches pour les correspondances d’expressions régulières dans Google Sheets Query

Les correspondances de sous-chaînes avancées sont possibles avec la fonction Matches pour les correspondances d’expressions régulières dans Google Sheets Query. Voici comment faire.

Une fois que vous avez appris les bases de la fonction Query, vous devriez commencer à apprendre les fonctionnalités avancées du langage Query dans Google Sheets.

Dans ce tutoriel, je présente plusieurs exemples de formules qui peuvent vous être très utiles pour maîtriser les correspondances d’expressions régulières dans Google Sheets Query.

Cet article explique comment faire correspondre des textes dans une colonne avec une correspondance d’expressions régulières Regex.

En plus des correspondances pour les sous-chaînes Like, Contains, Starts with et Ends with, vous pouvez utiliser Matches pour les correspondances d’expressions régulières dans Query.

Les correspondances sont toutes liées aux correspondances d’expressions régulières dans la fonction Query.

Veuillez noter que, contrairement à la correspondance dans la fonction REGEXMATCH, les correspondances dans la clause Where du langage Query nécessitent que la chaîne entière corresponde à l’expression régulière donnée.

Laissez-moi vous expliquer cela avec un exemple. Voyez la formule Regexmatch ci-dessous et la requête qui suit.

=REGEXMATCH(A1,"Info Inspired")

Cette formule Regexmatch renverrait TRUE si la cellule A1 contient le texte « Info Inspired », « Info Inspired Blog », « New Info Inspired », etc. C’est une correspondance globale.

Mais la requête suivante avec la correspondance d’expression régulière Matches dans la clause Where ne filtre que les lignes qui correspondent exactement au texte « Info Inspired ».

=query(A1:A, "Select A where A matches 'Info Inspired' ")

Si vous souhaitez une correspondance partielle similaire à la formule Regexmatch ci-dessus, vous devez envelopper l’expression régulière avec ..

=query(A1:A, "Select A where A matches '.*Info Inspired.*' ")

J’espère que cela a du sens.

Exemples de formules pour les correspondances d’expressions régulières dans Query

Voici quelques exemples de formules qui peuvent vous aider à vous familiariser davantage avec les correspondances d’expressions régulières dans Google Sheets Query.

1. Formule Query pour faire correspondre l’un ou l’autre des textes (celui-ci ou celui-là) dans Sheets

Dans cet exemple, la correspondance d’expression régulière remplace l’opérateur logique OR dans Query.

=query(A1:B, "Select * where B matches 'India|Russia' ")

Cette formule Query filtre les lignes correspondant au texte « India » ou « Russia ».

Il est préférable d’utiliser l’expression régulière pour remplacer l’opérateur logique OR si les textes de correspondance (conditions/critères) sont plus de deux. De cette façon, nous pouvons rendre la formule plus propre.

2. Formule Query pour faire correspondre une sous-chaîne n’importe où dans une chaîne de texte

Cet exemple contient trois formules Query utilisant trois expressions régulières différentes.

Tout d’abord, voyons toutes les formules une par une, puis jetez un œil à la capture d’écran de l’exemple dans la feuille de calcul.

Les formules Query sont dans les cellules D1, D6 et D11.

D1: =query(A1:B, "Select * where B matches '.*India.*' ")
D6: =query(A1:B, "Select * where B matches 'India.*' ")
D11: =query(A1:B, "Select * where B matches '.*India' ")

3. Expression régulière pour faire correspondre une chaîne de texte contenant des nombres dans Query

Utilisez la formule ci-dessous lorsque vous souhaitez filtrer des caractères alphanumériques à l’aide de Google Sheets Query.

Très pratique pour filtrer les mots de passe dans une colonne contenant des caractères alphanumériques.

=query(A1:B, "Select * where B matches '.*(d).*' ")

4. Requête pour faire correspondre le contenu entre des points d’interrogation/crochets

=query(A1:B, "Select * where B matches '.*?([A-Za-z]+)?.*'")

Dans cette formule, vous pouvez remplacer le point d’interrogation par des crochets pour faire correspondre les contenus entre crochets dans un texte.

Exemple:

=query(A1:B, "Select * where B matches '.*(([A-Za-z]+)).*'")

Cela correspond aux textes tels que « info inspired (tech) blog », qui contient du texte à l’intérieur des crochets ouverts et fermés.

Vous pouvez être plus spécifique comme ceci.

=query(A1:B, "Select * where B matches '.*((tech).*'")

5. Formule Query pour faire correspondre les lignes contenant le prénom, le deuxième prénom ou le nom de famille ensemble

Prénom et nom de famille:

=query(A1:B, "Select * where B matches '(?:S+ ){1}(S+)'")

Premier, milieu et dernier nom:

=query(A1:B, "Select * where B matches '(?:S+ ){2}(S+)'")

6. Formule Query pour filtrer les lignes avec un certain nombre de caractères dans une colonne

Cette formule filtre les mots de deux caractères.

=query(A1:B, "Select * where B matches '..'")

Augmentez le nombre de points (points) pour augmenter le nombre de caractères à faire correspondre.

7. Correspondance d’expression régulière dans la requête de Google Sheets pour faire correspondre des textes contenant des voyelles/consonnes

Formule 1:

=query(A1:B, "Select * where B matches '.*[aeiou].*'")

Formule 2:


=query(A1:B, "Select * where B matches '.*[^aeiou].*'")

Articles en lien