Expressions régulières dans Looker Studio

Une expression régulière 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. Vous pouvez également utiliser les fonctions d'expression régulière suivantes dans les formules de champs calculés:

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
EGEXP_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 EGEXP_REPLACE

Alternatives aux 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 d'origine 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

Correspond si MyField 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 d'un compte de démonstration Google Analytics génère les résultats suivants:

Campagne Langue
Campagne 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

. 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 fois ou plus. 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

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

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

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

10$ ne correspond pas à  10  0,  10  x 

Exemples

Groupes

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

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

([0-9]|[a-z]) correspond à tout nombre ou toute 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

\\

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

\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.*)')

Échappement avec la barre oblique inverse

Comme indiqué précédemment, la barre oblique inverse (\) sert à échapper les métacaractères d'expressions régulières lorsque ces caractères doivent être interprétés littéralement. Pour rechercher une barre oblique inverse dans une chaîne entre guillemets, vous devez également l'échapper. Votre expression comporte alors deux barres obliques inverses. Exemple :

REGEXP_REPLACE(String, "(\\[.*\\])\\+(\\[.*\\])","\\2 \\1")

Vous pouvez également utiliser le préfixe de littéral de chaîne brute R:

REGEXP_REPLACE(String, R"(\[.*\])\+(\[.*\])",R"\2 \1")