Notificación

Este artículo se refiere a Looker Studio. Para consultar la documentación de Looker, visita https://cloud.google.com/looker/docs/intro.

Expresiones regulares en Looker Studio

Las expresiones regulares ("regex") son secuencias específicas de caracteres que coinciden con patrones de tus datos o con parte de estos. Puedes usarlas para crear filtros más flexibles en gráficos y controles. También puedes usar las siguientes funciones de expresión regular en fórmulas de campos calculados:

REGEXP_CONTAINS Devuelve "verdadero" si el valor de entrada contiene el patrón de expresión regular. De lo contrario, devuelve "falso".
Más información
REGEXP_EXTRACT Devuelve la primera cadena secundaria del valor de entrada que coincide con el patrón de expresión regular.
Más información
REGEXP_MATCH Devuelve "verdadero" si el valor de entrada coincide con el patrón de expresión regular. De lo contrario, devuelve "falso".
Más información
REGEXP_REPLACE Sustituye todas las repeticiones del texto que coinciden con el patrón de expresión regular del valor de entrada por la cadena de sustitución.
Más información

Ejemplos

Coincide si MyField contiene caracteres de espacio:
REGEXP_CONTAINS(MyField, "\\s+")

 

Extrae el directorio principal de una URL:

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

Por ejemplo, si el campo URL incluyera la dirección de esta página, la función anterior devolvería looker-studio.

 

Puedes clasificar las campañas publicitarias 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 ejemplo, si se aplica a la dimensión Campaña en la cuenta de demostración de Google Analytics, se obtienen estos resultados:

Campaña Idioma
Campaña n.º 1 Otro idioma
1000549 | Google Analytics Demo | DR | apontes | NA | US | en | Hybrid | AW SEM | BKWS | ~ AW - Google Brand (US) Inglés
1000549 | Google Analytics Demo | DR | apontes | NA | CA | es | Hybrid | AW SEM | BKWS | ~ AW - YouTube (CA) Español

 

Puedes cambiar el orden de las partes de una cadena:

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

En el ejemplo anterior, las partes están separadas por dos puntos (:).

Metacaracteres de regex

Los metacaracteres son caracteres que tienen un significado especial en una expresión regular. A continuación, se incluyen algunos de los más habituales que puedes usar. Los ejemplos se proporcionan en el Centro de Ayuda de Google Analytics, pero la información que allí se ofrece también sirve para Looker Studio.

Consulta la documentación de google/RE2 en GitHub para ver la sintaxis completa de las expresiones regulares.

Comodines

. Coincide con cualquier carácter (letra, número o símbolo) 1. coincide con
10 y 1A

1.1 coincide con
111 y 1A1

Ejemplos
? Coincide una vez con el carácter que le precede, o lo omite 10? coincide con
1 y 10

Ejemplos
+ Coincide una o más veces con el carácter que le precede 10+ coincide con
10 y 100

Ejemplos
* Coincide varias veces con el carácter que le precede, o lo omite 1* coincide con
1 y 10

Ejemplos
| Crea una coincidencia OR

No se debe utilizar al final de una expresión
1|10 coincide con
1 y 10

Ejemplos

Anclas

^ Coincide con los caracteres adyacentes al principio de una cadena ^10 coincide con
10, 100 y 10x

^10 no coincide con
110 ni con 110x

Ejemplos
$ Coincide con los caracteres adyacentes al final de una cadena 10$ coincide con
110 y 1010

10$ no coincide con
100 ni con 10x

Ejemplos

Grupos

( ) Coincide con los caracteres entre paréntesis en el mismo orden, en cualquier punto de la cadena


También se utiliza para agrupar otras expresiones
(10) coincide con
10, 101 y 1011

([0-9]|[a-z]) coincide con
cualquier número o letra en minúsculas

Ejemplos
[ ] Coincide con los caracteres entre corchetes en cualquier orden y punto de la cadena [10] coincide con
01 2, 1 20 y 2 10

Ejemplos
- Concuerda con cualquier carácter contemplado en el intervalo de caracteres definido entre los corchetes, en cualquier punto de la cadena [0-9] coincide con cualquier número del 0 al 9

Ejemplos

Escape

\

Indica que el carácter adyacente debería interpretarse literalmente y no como un metacarácter de regex.

Consulta la nota que se incluye a continuación sobre los metacaracteres de coincidencia.

\. indica que el punto adyacente debe interpretarse como un punto o decimal y no como un comodín.

216\.239\.32\.34 coincide con
216.239.32.34

Ejemplos

Clases de caracteres

\d

dígitos (≡ [0-9])

\D

no son dígitos (≡ [^0-9])

\s

espacio (≡ [\t\n\f\r ])

\S

no es un espacio (≡ [^\t\n\f\r ])

\w

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

\W

no son caracteres de palabra (≡ [^0-9A-Za-z_])

Notas

Utilizar expresiones simples

Simplifica las expresiones regulares en la medida de lo posible para que cualquiera pueda interpretarlas y modificarlas.

Distinción entre mayúsculas y minúsculas

Las expresiones regulares distinguen entre mayúsculas y minúsculas de forma predeterminada. Para que no se distinga entre mayúsculas y minúsculas, utiliza la marca (?i). Por ejemplo:
  • REGEXP_EXTRACT(MyField, '(?i)(a.*)') extrae tanto "abc123" como "ABC123".

Escapar la barra inversa

Como se ha mencionado anteriormente, puedes utilizar la barra inversa (\) para escapar los metacaracteres de regex cuando estos deban interpretarse de forma literal. Para buscar una coincidencia con una barra inversa en una cadena entrecomillada, también deberás escapar dicha barra, con lo que tendrás dos barras inversas en la regex. Por ejemplo:

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

También puedes usar el prefijo literal de cadena sin formato, R:

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

 

 

¿Te ha resultado útil esta información?

¿Cómo podemos mejorar esta página?
Búsqueda
Borrar búsqueda
Cerrar búsqueda
Menú principal
6342399779737665192
true
Buscar en el Centro de ayuda
true
true
true
true
true
102097
false
false