Pequeño Manual sobre Expresiones Regulares (RegEx)

Expresiones Regulares

Las expresiones regulares (RegEx), en Google Analytics nos sirven, por ejemplo, para filtrar de distintas formas en la caja de búsqueda de GA. Las Expresiones Regulares, están formadas por caracteres (letras, números, espacios…) estos caracteres poseen un significado literal, es decir un 1 es un 1, la letra A es la letra A y “caballo” es la palabra “caballo” (que no “Caballo”).

Por otro lado tenemos los meta-caracteres que tienen un significado especial, no literal que explicaremos a continuación.

El punto “.”
El punto se convierte en cualquier carácter, es decir si ponemos la palabra .an , el punto podrá ser cualquier letra, saldrían palabras tipo: Pan,Can,Lan…etc. Si deseamos que el Punto haga función de punto debemos ponerlo así: \.

 

La barra invertida o diagonal invertida “\”

Convierte los meta-caracteres a caracteres, es decir, con su significado literal: “\.” Esto se suele usar para buscar IPs, por ejemplo si estamos buscando la IP 198.163.1.1 y ponemos eso tal cual en el cuadro de búsqueda los puntos actúan como meta-carácter y nos podrá mostrar en lugar de los puntos cualquier número en vez de buscarnos la Ip. Para que nos muestre la IP los puntos (individualmente) deben ser transformados a carácter así: 198\.163\.1\.1 Lo mismo pasa cuando las URL’s tiene símbolos como marcas de interrogación.

Por otro lado algunos caracteres pueden convertirse en meta-caracteres, no todos.

 

Corchetes []

Los corchetes los utilizamos para agrupar una serie de caracteres con los que puede coincidir la búsqueda, el ejemplo más sencillo son las mayúsculas y las minúsculas [Rr]oberto, nos encontrará tanto Roberto como roberto. Es importante recalcar que esta forma solo funciona para caracteres sueltos, no para palabras. Para que coincida con palabras, debemos añadir el meta-carácter de alternancia “|” entre ellas es decir [perro|casa|coche].

Si, por otro lado, queremos encontrar un rango en una lista lo haremos de la siguiente forma [0-9] en vez de [0123456789] o [a-z] en vez de todo el abecedario. Otra forma es [f-zF-z] lo que nos cogería el rango f-z en mayúsculas y minúsculas.

 

Repetición ?+*{}

Estos símbolos (interrogación, más, asterisco, llaves) nos permiten definir cuantas veces se va a repetir o va a aparecer el símbolo anterior.

El primero de ellos, la interrogación hace coincidir cero o una vez el carácter o caracteres anteriores, por ejemplo, 123? Con esto le estamos diciendo a GA que el carácter 3 debe aparecer o no es decir, el nos mostrará 12 o 123 pero no más es decir no 1234.

El “+” indica uno o más para el carácter anterior. Con el ejemplo anterior sería 123* = 123 o 1233 o 12333 o 12333…. Etc. Pero nunca 12 como en el anterior.

El asterisco “*” es una mezcla de los dos anteriores, es decir cero, uno o más. Por ejemplo: 123* nos mostraría 12 o 123 o 1233 o 12333…. Etc.

Las llaves “{}” se utilizan para repetir un número exacto de veces. Un ejemplo sería [0-9]{5} Esto significa, en el rango 0-9 nos coja los grupos de 5 dígitos 23451 o 12345 o 98760 por ejemplo. También podemos indicar varios números dentro de las llaves, [a-z]{1,4} esto nos sacaría cosas como: a, t, abdc, v, k, iroe, es decir letras sueltas o grupos de cuatro letras.

 

Agrupar () |

Los paréntesis nos permiten agrupar caracteres. Esto es útil por ejemplo cuando nos interesa buscar de diferentes maneras una palabra: Roberto Ballester, quiero buscar si la gente ponen Rober o Roberto Ballester para ello agrupamos Rober(to)? Ballester, esto le diría a GA que hemos agrupado “to” y le hemos puesto la interrogación que si recordamos hacía coincidir cero o una vez el carácter o grupo () anterior.

La barra vertical es lo mismo que decir “o” en una lista: Queremos que GA nos encuentre casa|coche|perro es decir casa o coche o perro. Si encuentra todas nos las mostrará. Si usamos los paréntesis junto con la barra vertical podemos definir más la búsqueda es decir quiero saber cómo busca la gente “Ballester” usaré (Balles|Valles|Bayes|Vayes)ter.

 

Anchor ^ $

El símbolo ^ obliga a GA a empezar la búsqueda por el término que le definamos es decir ^Developer todo lo que encuentre deberá empezar por esa palabra. Si el símbolo ^ se encuentra dentro de corchetes [] como por ejemplo [^0-9] significa NO, en este caso no nos mostrará ningún número.

El símbolo $ se utiliza para indicar como termina una línea es decir Developer$ lo que encuentre tendrá como final la palabra indicada.

 

Pequeños trucos para ahorrar tiempo

\d significa que nos encuentre cualquier número, lo mismo que [0-9]
\w significa que nos encuentre cualquier letra, numero, en mayúsculas y minúsculas. [A-Za-z0-9_]
\s significa que nos encuentre los espacios en blanco.

 

Guia basada en el post de SeoMoz de expresiones regulares y en el libro Google Analytics. Espero que os sea de Ayuda.

Otro recurso muy interesante es este Post sobre RegEX en Inglés.

Update: Manual bastante avanzado de combinaciones y Reg Ex

 

Si veis algún fallo no dudeis en reportarlo. Un saludo!

About Roberto Ballester Ortega

Licenciado en Publicidad y Relaciones Públicas por la Universidad de Alicante y con master en Analítica Web en la Escuela Kschool, actualmente dedico mi vida profesional al apasionante mundo de la Analítica Web.

8 comentarios en «Pequeño Manual sobre Expresiones Regulares (RegEx)»

  1. buen manual!!.
    Nota:
    El rango F-z no va solo de «F» mayuscula a «z» minuscula.Ya que, esto se basa a la table asscii (http://www.asciitable.com/).
    Este rango tambien incluye » [ » , » \ » , » ] » , » ^ » , » _ » y » ‘ » .
    En otras palabras va desde oct 106 hasta 172.

    Saludos

    Responder
  2. Muchas gracias, muy bueno y simple el tutorial. Muchas veces solo necesitamos algo simple como esto y no una disertacion en PDF de 400 paginas! 🙂
    Aunque creo que existe un pequenno error, al decir:
    «el nos mostrará 12 o 123 pero no más es decir no 1234.»

    quizas se quizo decir:

    «el nos mostrará 12 o 123 pero no más es decir no 1233».

    Responder

Deja un comentario