Une expression régulière ("regexp") est une séquence spécifique de caractères qui correspondent 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 :
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 |
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 |
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 |
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 |
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 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 extraire 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 ci-dessus renverrait looker-studio
.
Pour catégoriser les campagnes publicitaires par langue :
Par exemple, l'utilisation de cette fonction dans la dimension Campagne d'un 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 :
Dans l'exemple ci-dessus, 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 les exemples s'ouvrent dans le centre d'aide Google Analytics, mais que les informations présentées s'appliquent également à Looker Studio.
Consultez la documentation google/RE2 sur GitHub pour découvrir la syntaxe complète des expressions régulières.
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 fois ou plus | 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 |
Points d'ancrage
^ | Correspond aux caractères adjacents au début d'une chaîne | ^10 correspond à 10, 100, 10x ^10 ne correspond pas à 110, 110x Exemples |
$ | Correspond aux caractères adjacents à la fin d'une chaîne | 10$ correspond à 110, 1010 10$ ne correspond pas à 100, 10x Exemples |
Groupes
( ) | 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, 101, 1011 ([0-9]|[a-z]) correspond à tout nombre ou toute minuscule Exemples |
[ ] | Correspond aux caractères entre crochets dans n'importe quel ordre, n'importe où dans une chaîne | [10] correspond à 012, 120, 210 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 |
Échappement
\ |
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 Voir l'astuce ci-dessous sur la recherche des métacaractères |
\. 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_]) |
Astuces
Utilisation d'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
(?i)
. Exemple :REGEXP_EXTRACT(MonChamp, '(?i)(a.*)')
extrait à la fois "abc123" et "ABC123".
Échappement avec la barre oblique inverse
Comme indiqué ci-dessus, 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(Chaîne, "(\\[.*\\])\\+(\\[.*\\])","\\2 \\1")
Vous pouvez également utiliser le préfixe de littéral de chaîne brute R :
REGEXP_REPLACE(Chaîne, R"(\[.*\])\+(\[.*\])",R"\2 \1")