Expressões regulares no Data Studio

Uma expressão regular (ou regex) é uma sequência específica de caracteres que corresponde, de modo amplo ou restrito, aos padrões dos seus dados. Você pode usar expressões regulares para criar filtros mais flexíveis em gráficos e controles. Também é possível usar as seguintes funções de expressão regular em fórmulas de campo calculado:

REGEXP_CONTAINS Retorna verdadeiro se o valor de entrada contém o padrão de expressão regular. Caso contrário, retorna falso.
Saiba mais
REGEXP_EXTRACT Retorna a primeira substring correspondente no valor de entrada que corresponde ao padrão de expressão regular.
Saiba mais
REGEXP_MATCH Retorna verdadeiro se o valor de entrada corresponde ao padrão de expressão regular. Caso contrário, retorna falso.
Saiba mais
REGEXP_REPLACE Substitui todas as ocorrências de texto correspondentes ao padrão de expressão regular no valor de entrada pela string replacement.
Saiba mais

Exemplos

Faz correspondência se "MyField" contém caracteres de espaço:
REGEXP_CONTAINS(MyField, "\\s+")

 

Extrai o diretório de nível superior de um URL:

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

Por exemplo, se o campo URL contivesse o endereço desta página, a função acima retornaria datastudio.

 

Classificar as campanhas publicitárias por idioma:

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

Por exemplo, aplicar isso à dimensão Campaign na conta de demonstração do Google Analytics fornece estes resultados:

Campanha Idioma
Campanha nº 1 Other language
1000549 | Google Analytics Demo | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) English
1000549 | Google Analytics Demo | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) Spanish

 

Trocar a ordem das seções em uma string:

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

No exemplo acima, as seções são separadas por dois pontos (:).

Metacaracteres da regex

Os metacaracteres são caracteres que têm um significado especial em uma expressão regular. Veja a seguir alguns dos metacaracteres mais comuns que podem ser utilizados. Os exemplos podem ser vistos na Central de Ajuda do Google Analytics, mas as informações apresentadas lá se aplicam igualmente ao Data Studio.

Consulte a documentação google/RE2 do GitHub para ver a sintaxe de expressão regular completa.

Caracteres curinga

. Corresponde a qualquer caractere único (letra, número ou símbolo) 1. corresponde a
10, 1A

1.1 corresponde a
111, 1A1

Exemplos
? Corresponde ao caractere anterior nenhuma ou uma vez 10? corresponde a
1, 10

Exemplos
+ Corresponde ao caractere anterior uma ou mais vezes 10+ corresponde a
10, 100

Exemplos
* Corresponde ao caractere anterior nenhuma ou mais vezes 1* corresponde a
1, 10

Exemplos
| Cria uma correspondência OR

Não use no fim de uma expressão
1|10 corresponde a
1, 10

Exemplos

Âncoras

^ Corresponde aos caracteres adjacentes no começo de uma string ^10 corresponde a
10, 100, 10x

^10 não corresponde a
110, 110x

Exemplos
$ Corresponde aos caracteres adjacentes no fim de uma string 10$ corresponde a
110, 1010

10$ não corresponde a
100, 10x

Exemplos

Grupos

( ) Corresponde aos caracteres entre parênteses na ordem exata em que aparecem na string


Usado também para agrupar outras expressões
(10) corresponde a
10, 101, 1011

([0-9]|[a-z]) corresponde a
qualquer número ou letra minúscula

Exemplos
[ ] Corresponde aos caracteres entre colchetes em qualquer ordem em que aparecem na string [10] corresponde a
012, 120, 210

Exemplos
- Cria uma sequência de caracteres entre colchetes que correspondem a qualquer ocorrência deles na string [0-9] corresponde a qualquer número de 0 a 9

Exemplos

Escape

\

Indica que o caractere adjacente deve ser interpretado literalmente, e não como um metacaractere da regex.

Leia a observação abaixo sobre a correspondência de metacaracteres.

\. indica que o ponto final adjacente deve ser interpretado como um decimal ou ponto final, não como um caractere curinga

216\.239\.32\.34 corresponde a
216.239.32.34

Exemplos

Classes de caracteres

\d

dígitos (≡ [0-9])

\D

não dígitos (≡ [^0-9])

\s

espaço em branco (≡ [\t\n\f\r ])

\S

não é espaço em branco (≡ [^\t\n\f\r ])

\w

caracteres de palavras (≡ [0-9A-Za-z_])

\W

não são caracteres de palavras (≡ [^0-9A-Za-z_])

Dicas

Use expressões simples

Simplifique suas expressões regulares. Uma regex simples pode ser interpretada e modificada por outro usuário com mais facilidade.

Diferenciação entre maiúsculas e minúsculas

Por padrão, as expressões regulares diferenciam maiúsculas de minúsculas. Para que a correspondência não diferencie maiúsculas de minúsculas, use a sinalização (?i). Exemplo:
  • REGEXP_EXTRACT(MyField, '(?i)(a.*)') extrai "abc123" e "ABC123".

Escape da barra invertida

Conforme mencionado acima, use a barra invertida (\) para escapar os metacaracteres da regex quando precisar que esses caracteres sejam interpretados literalmente. Para fazer com que uma barra invertida fique em uma string entre aspas, você também terá que inserir essa barra invertida, o que resultará em duas barras invertidas na sua regex. Exemplo:

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

Como alternativa, use o prefixo de literal de string bruta, R:

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

 

 
Isso foi útil?
Como podemos melhorá-lo?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Google Apps
Menu principal
Pesquisar na Central de Ajuda
true
102097
false