Las expresiones regulares -conocidas comúnmente como RegEx- son una serie de caracteres que son interpretados para identificar patrones. Están soportados por la gran mayoría de los lenguajes de programación y herramientas como Google Search Console o Screaming Frog, solo por nombrar unas pocas. Tristemente, RegEx puede llegar a ser intimidante y se ve como una herramienta que es muy poderosa para el análisis de datos, pero es imposible de dominar para la mayoría.
![](https://www.aeripret.com/wp-content/uploads/2022/08/example-regular-expression.png)
Esto lo creo honestamente porque todavía tengo que conocer a alguien que lo diga. Pero ¿Sabes qué? No hay de que preocuparse. Yo utilizo RegEx a diario, y dominio únicamente las bases. Esto es más que suficiente para la mayoría de los casos.
¿Por qué y cuándo debería preocuparme por RegEx?
Existen diferentes habilidades que podrás aprender y aplicar en la industria de la búsqueda. Son muy útiles dependiendo de diferentes factores, como son:
- Tu nivel de antigüedad: yo no recomendaría aprender RegEx si no dominas las bases del SEO.
- El tipo de SEO que usas: RegEx es mucho más útil cuando tenemos que lidiar con una gran cantidad de datos. Si en tu vida diaria creas sitios web de nichos, puede que no sea tan útil como si somos responsables de una estrategia de SEO para Walmart.
No lo aprendas únicamente porque te gusta este post, apréndelo porque puede ayudarte durante tus tareas diarias.
Habiendo dicho esto, ten en mente que RegEx es soportado por la mayoría de las herramientas de SEO como Google Analytics, Google Search Console, Screaming Frog, Oncrawl y muchas otras. Incluso podremos tener fórmulas en Google Sheets (REGEMATCH y REGEXEXTRACT) para usarlas directamente en Excel.
![](https://www.aeripret.com/wp-content/uploads/2022/08/google-analytics-regex.png)
Un ejemplo para aprovechar el RegEx es usarlo dentro de Google Search Console para poner preguntas acerca de tu marca. Y yo he usado este truco en el pasado y es asombroso para mejorar tus secciones de FAQs/Customer Support. Sin RegEx, hacer estas preguntas podría tomar mucho más tiempo.
Another piece of GSC regex magic by @ChouinardJC
— Lily Ray 😏 (@lilyraynyc) July 21, 2021
I asked him for something that could pull up question keyword PLUS the name(s) of the company – and below is the formula, voila! Case insensitive too.
(?i)^(who|what|where|when|why|how).*(brand|name).*
Thanks JC! pic.twitter.com/xRToDJ9L6F
RegEx 101
Como ya había resaltado, en la mayoría de los casos RegEx puede llegar a ser bastante simple. Si entiendes algunos conceptos podrás utilizarlos, tal vez Googleando un poco.
Punto o dot (.)
El punto es un comodín que puede coincidir con cualquier carácter. Puede ser una letra, un número o un carácter especial, no importará en absoluto. Sin embargo, este no se utilizará a menudo solo: normalmente viene con un cuantificador el cual explicaré más adelante en este artículo.
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-dot.png)
Acento circunflejo (^)
El acento circunflejo indica el inicio de un texto que estamos tratando de hacer coincidir. ^apple solo coincidirá con apple en mi ejemplo que está más abajo, porque la otra palabra inicia con una letra m. Diciéndolo de otro modo, este carácter permitirá identificar cadenas que inicien con un texto específico.
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-circumflex-accent.png)
Signo de dólar ($)
El signo de dólar hace lo opuesto al acento circunflejo: permitirá identificar una cadena que terminará con un texto específico.
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-dollar-sign.png)
Barra invertida (\)
Como hemos estado explicando, algunos caracteres tienen un significado especial cuando estamos utilizándolos en un contexto de RegEx. Ahora, ¿Qué hay de hacer coincidir estos caracteres y no sus significados? ¿Cómo podemos hacer coincidir un texto incluyendo acentos circunflejos, por ejemplo? Simplemente tendremos que usar la barra invertida antes de ellos, el propósito será indicar que este carácter debe ser interpretado literalmente, y no con su significado.
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-backslash.png)
Varias opciones
Algunas veces, podremos tener más de una opción para hacer coincidir una cadena. RegEx tiene diferentes patrones que aprovechar como son:
- [abc] indica que podremos tener las letras a, b o c. Cualquiera de estas opciones estará bien. Ejemplo:
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-letter-brackets.png)
- [a-z] hace coincidir cualquier letra minúscula del alfabeto latino (si es en español, la ñ no está incluida).
- [A-Z] hace lo mismo, pero con las letras mayúsculas.
- [a-z-A-Z] hace coincidir cualquier letra, sin importar si es minúscula o mayúscula.
- [0-9] hace coincidir cualquier dígito.
No es tan difícil, ¿Verdad? La única cosa que tendrás que recordar es cómo escribir un corchete utilizando tu teclado. Esto porque será necesario con mucha frecuencia.
Cuantificador
Mientras que las expresiones regulares que hemos visto anteriormente en las secciones anteriores pueden cubrir la mayoría de los casos, todavía necesitamos aprender un concepto básico: el cuantificador. Estos caracteres indicarán cuantas veces se repite una cadena específica.
Un cuantificador siempre se aplicará a un carácter ubicado antes, en mi ejemplo de abajo, el signo de (+), que significará 1 o más veces, es aplicado a la letra o. Por esto coinciden las dos primeras opciones, pero no la tercera porque no incluye la letra o.
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-plus-sign.png)
Los principales cuantificadores son los siguientes:
Carácter | Significado |
* | 0 o más veces |
+ | 1 o más veces |
? | 0 o 1 vez |
{X} | X veces |
{X,Y} | Entre X y Y veces |
Por ejemplo, podremos hacer coincidir dos carpetas, /floght/ y /flights/, con un simple RegEx indicando que la letra s es opcional.
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-question-mark-sign.png)
Vamos a practicar con un simple ejemplo
Aplicaremos algunos de los conceptos que hemos visto a lo largo del artículo. Imagínate que estas trabajando para una página web que vende billetes de avión. La arquitectura de la web incluirá miles de URLs hechas en el siguiente patrón:
- URL: https://www.example.com/flights-barcelona–paris_bar–par.html
- Explicación: https://www.example.com/flights-{origin}-{destination}_{airport_origin}-{airport_destination}.html
Para la explicación, necesitaremos transformar la variable en un RegEx válido:
- Origin/destination: una palabra sin espacio [a-z]+
- Airport: tres letras de subrayado: [a-z]{3}
Esto se convertirá en:
https://www.example.com/flights-[a-z]+–[a-z]+_[a-z]{3}–[a-z]{3}.html
![](https://www.aeripret.com/wp-content/uploads/2022/08/regex-example-practice.png)
Esto es completamente normal, si no es (todavía) fácil de crear un RegEx personalizado rápidamente, pero lo conseguirás. Como he resaltado, podrás encontrarte con casos específicos, donde el RegEx que he explicado en este artículo no es suficiente, pero podrás ser bueno en la mayoría de los casos.
Vamos a practicar con un ejemplo mucho más complejo
Para este segundo ejemplo, asumiremos que estamos trabajando para Animalear, una e-commerce española para animales. Yo trabajé para este cliente cuando inicié mi carrera profesional en España. Esto me trae muy buenos recuerdos. 😉
![](https://www.aeripret.com/wp-content/uploads/2022/08/animalear-homepage.png)
Sabemos que el cliente tiene un problema con algunas de las URL de sus productos.
- Algunas son fáciles de usar como https://animalear.com/perros/scalibor/collar-scalibor-antiparasitario
- Otras no, son como https://animalear.com/perros/nutro/p-195619
Obviamente podrás clasificar ambos, pero el primero será mejor por muchas razones. Lo que queremos hacer es simple: verificar que no estamos utilizando una mala estructura en nuestro enlazado interno desde las páginas principales como desde la homepage y las categorías.
Obviamente podremos hacer la verificación de forma manual, pero si tenemos más de 10 páginas, gastaremos una gran cantidad de tiempo. Vamos a ver cómo podremos utilizar RegEx para ayudarnos en este caso.
- Rastrearemos el sitio web completo usando Screaming Frog o cualquier rastreador similar.
![](https://www.aeripret.com/wp-content/uploads/2022/08/crawl-screaming-frog-animalear.png)
- Después exportaremos el reporte de Inlinks.
![](https://www.aeripret.com/wp-content/uploads/2022/08/screaming-frog-export-inlinks.png)
- A continuación, abriremos un archivo en Google Sheets. Ten en cuenta que si el rastreo es demasiado grande, posiblemente no podremos abrir el archivo en Sheets.
![](https://www.aeripret.com/wp-content/uploads/2022/08/inlinks-report-google-sheets.png)
- Continuamos con nuestro proceso: estamos buscando links DE categorías A URLs no optimizadas. Las categorías tienen dos estructuras diferentes: https://animalear.com/pajaros/c_juguetes-para-pajaros y https://animalear.com/gatos/s_accesorios-casetas. En resumen: dominio + una carpeta + la letra c o s seguida de un guión bajo y el resto de la URL. Esto puede ser traducido en REGEX; utilizando la explicación que te he dado anterior así: https:\/\/animalear.com\/.*\/[cs]_.*
- Aplicando la misma lógica con las URLs de producto (Como son https://animalear.com/perros/nutro/p-195619), podremos definir el RegEx así: https:\/\/animalear.com/.*/p-[0-9]+$. Es decir: dominio + carpetas + la letra p + guión + algunos números.
- Utilizando la fórmula de REGEXMATCH, podremos filtrar nuestro archivo para incluir solo las filas con los enlaces que estábamos buscando.
![](https://www.aeripret.com/wp-content/uploads/2022/08/google-sheets-result-analysis-regex.png)
Esto es mucho más rápido que hacer todo de forma manual, ¿Verdad? Y no hemos creado un registro complejo de RegEx.
Conclusión
Como he mencionado en mi introducción, RegEx puede llegar a ser complejo, pero a veces no lo será. Conociendo los conceptos básicos, podremos:
- Trabajar inteligentemente en Google Sheets.
- Aprovechar la búsqueda y extracción personalizadas en Screaming Frog o en Oncrawl.
- Categorizar las secciones en Data Studio.
- Y mucho más.
Te recomiendo encarecidamente tomarte un tiempo para aprender los conceptos básicos si se trata de una gran cantidad de datos. No tendrás que saberlo todo, y ahorrarás mucho tiempo, lo que a largo plazo sin duda merece la pena.