Expressions régulières dans Looker Studio

Une expression régulière (regexp) est une séquence spécifique de caractères qui correspond de façon plus ou moins étroite aux modèles de vos données. Vous pouvez utiliser des expressions régulières pour créer des filtres plus flexibles dans des graphiques et des commandes. Il est également possible d'utiliser les fonctions d'expression régulière suivantes dans les formules de champs calculés :

FonctionDescription
REGEXP_CONTAINS Renvoie la valeur "true" si la valeur d'entrée contient le modèle de l'expression régulière. Sinon, renvoie la valeur "false".

En savoir plus sur REGEXP_CONTAINS
REGEXP_EXTRACT Renvoie la première sous-chaîne de la valeur d'entrée correspondant au modèle de l'expression régulière.

En savoir plus sur REGEXP_EXTRACT
REGEXP_MATCH Renvoie la valeur "true" si la valeur d'entrée correspond au modèle de l'expression régulière. Sinon, renvoie la valeur "false".

En savoir plus sur REGEXP_MATCH
REGEXP_REPLACE Remplace toutes les occurrences textuelles correspondant au modèle de l'expression régulière dans la valeur d'entrée par la chaîne de remplacement.

En savoir plus sur REGEXP_REPLACE

Alternatives à l'utilisation d'expressions régulières

L'élaboration d'expressions régulières peut s'avérer complexe. Avant d'utiliser une fonction incluant une expression régulière, demandez-vous si l'utilisation d'une fonction texte plus simple vous permettrait d'atteindre votre objectif. Les fonctions suivantes fournissent un niveau de fonctionnalité identique à celles utilisant des expressions régulières sans que vous ayez besoin de connaître la syntaxe des expressions régulières.

Fonction Description
CONTAINS_TEXT

Renvoie la valeur "true" si le texte spécifié est détecté dans le champ ou l'expression. Sinon, renvoie la valeur "false".

ENDS_WITH

Renvoie la valeur "true" si le champ ou l'expression se termine par le texte spécifié. Sinon, renvoie la valeur "false".

LEFT_TEXT

Renvoie un nombre de caractères à partir du début d'une chaîne donnée.

REPLACE Renvoie une copie du texte original où toutes les occurrences du texte de recherche sont remplacées par le texte de remplacement.
RIGHT_TEXT

Renvoie un nombre de caractères à partir de la fin d'une chaîne donnée.

STARTS_WITH

Renvoie la valeur "true" si le champ ou l'expression commence par le texte spécifié. Sinon, renvoie la valeur "false".

TRIM

Renvoie du texte sans espace superflu au début ou à la fin.

Exemples d'expressions régulières

Pour établir une correspondance si MonChamp contient des espaces :

REGEXP_CONTAINS(MyField, "\\s+")

Extrait le répertoire racine d'une URL :

REGEXP_EXTRACT(URL, ^https://[^/]+/([^/]+)/)

Par exemple, si le champ URL contenait l'adresse de cette page, la fonction précédente renverrait looker-studio.

Pour catégoriser les campagnes publicitaires par langue :

CASE
    WHEN REGEXP_MATCH(Campaign 2, R".*\|\s*en\s*\|.*") then "English"
    WHEN REGEXP_MATCH(Campaign 2, R".*\|\s*es\s*\|.*") then "Spanish"
    ELSE "Other language"
END

Par exemple, l'application de cette expression régulière à la dimension Campagne dans le compte de démonstration Google Analytics génère les résultats suivants :

Campagne Langue
Campagne n° 1 Autre langue
1000549 | Google Analytics Demo | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) Anglais
1000549 | Google Analytics Demo | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) Espagnol

Pour intervertir l'ordre des sections dans une chaîne :

REGEXP_REPLACE(Campaign, R'(.*):(.*)', R'\2 \1')

Dans l'exemple précédent, les sections sont séparées par le caractère deux-points (:).

Métacaractères

Les métacaractères sont des caractères qui possèdent une signification particulière dans une expression régulière. Voici quelques-uns des métacaractères les plus courants que vous pouvez utiliser. Notez que ces exemples s'ouvrent dans le centre d'aide Google Analytics, mais que les informations présentées s'appliquent également à Looker Studio.

Caractères génériques

CaractèreDescriptionExemple
. Correspond à un seul caractère, quel qu'il soit (lettre, chiffre ou symbole). 1. correspond à 10, 1A

1.1 correspond à 111, 1A1

Exemples
? Correspond au caractère qui précède zéro ou une fois. 10? correspond à 1, 10

Exemples
+ Correspond au caractère qui précède une ou plusieurs fois. 10+ correspond à 10, 100

Exemples
* Correspond au caractère qui précède zéro ou plusieurs fois. 1* correspond à 1, 10

Exemples
| Crée une correspondance OR.

À ne pas utiliser à la fin d'une expression.
1|10 correspond à 1, 10

Exemples

Ancrages

CaractèreDescriptionExemple
^ Correspond aux caractères adjacents au début d'une chaîne. ^10 correspond à 10, 100, 10x

^10 ne correspond pas à 1 10 , 1 10 x

Exemples
Correspond aux caractères adjacents à la fin d'une chaîne. 10$ correspond à 110, 1010

10$ ne correspond pas à 100, 10x

Exemples

Groupes

CaractèreDescriptionExemple
( ) Correspond aux caractères entre parenthèses exactement dans leur ordre d'apparition, n'importe où dans une chaîne.

Utilisé également pour regrouper d'autres expressions.
(10) correspond à 10 , 10 1, 10 11

([0-9]|[a-z]) correspond à n'importe quel chiffre ou lettre minuscule.

Exemples
[ ] Correspond aux caractères entre crochets dans n'importe quel ordre, n'importe où dans une chaîne. [10] correspond à 01 2, 1 20, 2 10

Exemples
- Crée une plage de caractères (entre crochets) avec lesquels établir une correspondance n'importe où dans une chaîne. [0-9] correspond à tout chiffre de 0 à 9

Exemples

Échap

CaractèreDescriptionExemple
\\

Indique que le caractère adjacent doit être interprété de façon littérale plutôt que comme un métacaractère d'expression régulière.

\\. indique que le point adjacent doit être interprété comme un point final et non comme un caractère générique

216\\.239\\.32\\.34 correspond à 216.239.32.34

Exemples

Classes de caractères

ClasseCaractères
\d chiffres (≡ [0-9])
\D pas de chiffre (≡ [^0-9])
\s espace blanc (≡ [\t\n\f\r ])
\S pas d'espace blanc (≡ [^\t\n\f\r ])
\w caractères de mot (≡ [0-9A-Za-z_])
\W pas de caractère de mot (≡ [^0-9A-Za-z_])

Conseils

Utiliser des expressions simples

Vos expressions régulières doivent rester simples. Les expressions simples sont plus faciles à interpréter et à modifier par les autres utilisateurs.

Sensibilité à la casse

Par défaut, les expressions régulières sont sensibles à la casse. Vous pouvez rendre la correspondance non sensible à la casse à l'aide de l'indicateur (?i). Par exemple, cette expression extrait à la fois "abc123" et "ABC123" :

REGEXP_EXTRACT(MyField, '(?i)(a.*)')

Échapper une barre oblique inverse

Si vous souhaitez écrire une condition de filtre qui inclut une barre oblique inverse, vous devez l'échapper avec une seconde barre oblique inverse.

Par exemple, l'expression suivante vérifie si un champ contient la chaîne green\yellow :

REGEXP_CONTAINS(field_name, "green\\yellow")

Vous pouvez également ajouter le préfixe de littéral de chaîne brute R à une expression. Dans ce cas, vous n'avez pas besoin d'échapper les caractères spéciaux, comme la barre oblique inverse. L'exemple précédent peut être réécrit de manière équivalente comme suit :

REGEXP_CONTAINS(field_name, R"green\yellow")