Cursos

6.1 Expresiones regulares en Notion

Expresiones regulares en Notion

6.1 Expresiones regulares en Notion

Lo básico

Las expresiones regulares (en inglés Regular Expressions) o Regex para abreviar, son cadenas de texto especiales que se utilizan para buscar y hacer coincidir patrones dentro de un texto. La sintaxis de las expresiones regulares es casi uniforme en todos los lenguajes de programación, por lo que una vez que aprendas los conceptos básicos, puedes utilizarla en cualquier lenguaje (con algunos ajustes menores).

Un problema simple

Imagina que necesitas escribir un código que pudiera determinar si una cadena determinada contiene una expresión de tiempo de 24 horas, algo así como: “Nos vemos a las 11:45” o “Corrí una maratón en 03:30“.

Para poder ver el Contenido Premium (Videotutoriales, descargas, explicaciones avanzadas, ...) de todos los cursos, Suscríbete. Si ya estás suscrito Inicia la sesión.

¿Cómo haríamos para verificar la presencia de un tiempo en la cadena y extraerlo? Podríamos hacerlo manualmente, usando bucles y un montón de lógica compleja, ¡pero no es tan fácil! No es tan simple verificar un patrón de dos números y luego dos puntos y luego dos números más. Necesitamos asegurarnos de que los tiempos sean realmente válidos en lugar de números de dos dígitos. ¿Y si quisiéramos también permitir la opción de agregar en segundos? “Corrí una maratón en 03:30:19“.

Para poder ver el Contenido Premium (Videotutoriales, descargas, explicaciones avanzadas, ...) de todos los cursos, Suscríbete. Si ya estás suscrito Inicia la sesión.

Ejemplo para buscar E-mail con expresión regular

Expresiones regulares en Notion
Este es un ejemplo muy complejo pero es representativo de hasta donde podemos llegar con expresiones regulares

¿Cuándo son útiles las expresiones regulares?

Las expresiones regulares en Notion se pueden usan para, reemplazar, extraer o validar cadenas de texto. A continuación vemos las funciones de Notion donde podemos usar expresiones regulares.

and(prueba lógica, prueba lógica)

Comprueba si los valores devueltos de dos pruebas lógicas son true o no. Nos devuelve un resultado boleano. Aplicados a una propiedad esta nos muestra un checkbox que en el caso de que el resultado sea true (verdadero) muestra este checkbox chequeado y caso contrario desactivado. Esta función devolverá true si ambas expresiones de comparación son verdaderas y devolverá false si una o ambas son falsas.

Ejemplo 1: and( 2 == 2, 2 == 3 ) → false

Argumento 1: La primera expresión de comparación, debe evaluar a un valor boleano.

Argumento 2: La segunda expresión de comparación, debe evaluar a un valor boleano.

La fórmula está incluida en propiedad Ʃ Fórmula

Ejemplo 2: and(prop("Prop 1"), prop("Prop 2") >= 10)

Argumento 1: En el primer argumento no hace falta poner ninguna expresión de comparación ya que el propio argumento es boleano debido a que la Propiedad “Prop 1” es de tipo Checkbox, por lo tanto el propio argumento nos proporciona un true o un false.

Argumento 2: El segundo argumento evalúa si el valor de la propiedad “Prop 2” en cada fila es mayor o igual a 10.

if(prueba lógica, valor, valor)

La función if() permite realizar una acción si se cumple una condición, u otra acción si la condición no se cumple. Al anidar las funciones if() (colocarlas una dentro de la otra), puedes especificar acciones para numerosas condiciones. Esta función necesita tres parámetros:

  • Prueba lógica, que se evalúa como verdadero o falso.
  • Valor u operación a devolver si la operación si es verdadero.
  • Valor u operación a devolver si la operación si es falso.
La fórmula está incluida en propiedad Ʃ Fórmula

Ejemplo 1: if(prop("Valor 1") > prop("Valor 2"), "Es mayor", "Es menor o igual")

Argumento 1: Evalúa si el valor de la propiedad “Valor 1” es mayor que la propiedad “Valor 2”. Solo en caso de que “Valor 1” sea mayor que “Valor 2” el resultado de la prueba lógica será true (Verdadero).

Argumento 2: Si la prueba lógica da como resultado true, el resultado a mostrar será “Es mayor”.

Argumento 3: Si la prueba lógica da como resultado false, el resultado a mostrar será “Es menor o igual”.

Dado que esta fórmula anidada es un poco más compleja vamos a ver estos ejemplos en un nuevo video explicativo.

Notion funcion if() anidada
La fórmula está incluida en propiedad Ʃ Fórmula

Ejemplo 2: if(prop("Valor 1") > prop("Valor 2"), "Es mayor", if(prop("Valor 1") < prop("Valor 2"), "Es menor", "Es igual"))

Argumento 1: Evalúa si el valor de la propiedad “Valor 1” es mayor que la propiedad “Valor 2”. Solo en caso de que “Valor 1” sea mayor que “Valor 2” el resultado de la prueba lógica será true (Verdadero).

Argumento 2: Si la prueba lógica da como resultado true, el resultado a mostrar será “Es mayor”.

Argumento 3: Si la prueba lógica da como resultado false, como tercer argumento incluimos un nuevo if(prop("Valor 1") < prop("Valor 2"), "Es menor", "Es igual") anidado, este if tiene a su vez tres parámetros.

Para poder ver el Contenido Premium (Videotutoriales, descargas, explicaciones avanzadas, ...) de todos los cursos, Suscríbete. Si ya estás suscrito Inicia la sesión.

not(prueba lógica)

Comprueba si la prueba lógica devuelve false. Si la prueba lógica es false devuelve true y viceversa. Devuelve un boleano.

Ejemplo 1: not(2 == 3)true

Ejemplo 2: not(prop("País 1") == prop("País 2"))

Ejemplo 3: not prop("País 1") == prop("País 2")

El Ejemplo 3 hace la misma función que el Ejemplo 2, de Notion cuando introducimos la expresión de la forma que vemos en el Ejemplo 2 una vez pulsamos el botón Done la cambia a como la vemos en el Ejemplo 3.

Argumento 1: La prueba lógica evualua un boleano. En este caso avalúa si 2 == 3 el resultado es false (falso). La función devuelve el boleano contrario al resultado de la prueba lógica true.

Notion funcion not()
La fórmula está incluida en propiedad Ʃ Fórmula

Ejemplo 4: if (not prop("Finalizado"), "No finalizado", "Finalizado")

En este ejemplo hemos incluido not anidado en una función if(), como vemos esta función pierde los parentesis y funciona como un operador de negación.

or(prueba lógica, prueba lógica)

Si una o ambas pruebas lógicas devuelve true. En caso de ambas sean false, devuelve false. Devuelve un boleano.

Ejemplo 1: or(2==2, 1==3)true

Ejemplo 2: or(2==4, 1==3)false

Argumento 1: La primera expresión de comparación, debe evaluar una prueba lógica dando como resultado un valor boleano.

Argumento 2: La segunda expresión de comparación, debe evaluar una prueba lógica dando como resultado un valor boleano.

replace(texto, expresión, texto)

Reemplaza la primera coincidencia de una expresión regular dentro de una cadena de texto por un nuevo texto especificado. Devuelve una cadena de texto.

Ejemplo 1: replace( "La verdad", "La", "Es" )"Es verdad"

Ejemplo 1: replace("1-2-3", "-", "!")"1!2-3"

Ejemplo 3: replace("Mi nombre es Isabel", "(?<=es ).+(?=\.)", "María")"Mi nombre es María")

Argumento 1: El texto original.

Argumento 2: Texto o Expresión regular (entre comillas).

Argumento 3: El texto de reemplazo.

replaceAll(texto, expresión, texto)

Reemplaza la primera coincidencia de una expresión regular dentro de una cadena de texto por un nuevo texto especificado. Devuelve una cadena de texto.

Ejemplo 1: replaceAll( "Me gusta el verano. Me gusta nadar", "Me gusta", "Me encanta" )"Me encanta el verano. Me encanta nadar."

Ejemplo 2: replaceAll(prop("Nombre"), "Dra?. ", "")Sustituye "Dr. " o "Dra. " que hubiera cualquier registro de la tabla por nada "", es decir los elimina.

Argumento 1: El texto original.

Argumento 2: Texto o Expresión regular (entre comillas).

Argumento 3: El texto de reemplazo.

test(prueba)

Comprueba si una cadena de texto coincide con una expresión regular. Devuelve un boleano.

Ejemplo 1: test( "Rojo, Verde, Azul", "Verde" )true

Ejemplo 2: test(prop("Nombre"), "^A|^C")Devuelve true para cualquier nombre que empiece por A o por C.

Argumento 1: El texto original.

Argumento 2: Texto o Expresión regular (entre comillas).

Argumento 3: El texto de reemplazo.

Intentar verificar estos patrones sin el uso de expresiones regulares es una pesadilla. Es posible, pero significa escribir toneladas de bucles y lógica compleja.

Probar y testear expresiones regulares

Es muy recomendable utilizar un editor en línea como https://regexr.com para probar tus expresiones regulares.

Códigos de caracteres

El primer grupo de caracteres especiales que veremos son los códigos de caracteres.

RegexDescripciónEjemplo
[abc]Selecciona cualquiera de los caracteres que estén dentro de los corchetes. Dentro de corchetes los caracteres especiales + * ? ^ $ \ . [ ] { } ( ) | / tendrán su valor literal no su valor como patrón.[T9!]Tengo 9 años ¡Bien!
[^abc]Selecciona cualquiera de los caracteres que no estén dentro de los corchetes[^aeiou]pumpkins are orange
[a-z]Selecciona cualquier carácter dentro de un rango específico. Por ejemplo, el rango [a-z] incluye las letras de la a la z, pero no incluye mayúsculas, la ñ, vocales con tilde o diéresis.[1-3a-c] → 76a321bca9z
.Coincide con cualquier carácter excepto los saltos de línea.hola mundo 1029
\wSelecciona cualquier carácter de este rango [A-Za-z0-9_], letras de la A a la Z mayúsculas y minúsculas, números del 0 al 9 y el caracter _. No incluye la ñ, vocales con tilde o diéresis.\wTeléfono 503_846 123
\dSelecciona dígitos numéricos\d → Mi número es (+34955 12 45 01
\sSelecciona cualquier espacio en blanco (espacios, tabulaciones y saltos de línea)\s → A      las tres
Para poder ver el Contenido Premium (Videotutoriales, descargas, explicaciones avanzadas, ...) de todos los cursos, Suscríbete. Si ya estás suscrito Inicia la sesión.

Cuantificadores y más

A continuación, tenemos un grupo de caracteres especiales que nos permiten especificar la cantidad de caracteres dentro de una secuencia:

RegexDescripciónEjemplo
+Selecciona la expresión anterior 1 o más vecesA+ → HA HAAA
*Selecciona la expresión anterior 0 o más vecescolou*r → es color o colour o colouuuur?
?Selecciona la expresión anterior 0 o 1 vezcolou?r → es color o colour o colouuuur?
{3}Selecciona la expresión anterior repetida un número específico de veces[a-z]{3} → Uno más dos son tres
{1,3}Selecciona la expresión anterior repetida las veces de un rango especificado[a-z]{1,3} → Uno más dos son tres
{4,}Selecciona la expresión anterior un número específico de veces o más!{3,} → Hola!! Bien!!! Ole!!!!!
|Selecciona cuaquiera de las expresiones que estén delante o detrás de |\w+rr(o|er|a)corro cierre correr barra torre zorro

Anclas

RegexDescripciónEjemplo
^Selecciona la expresión comenzando con el inicio de una cadena^[Tt]Tiene talento
$Selecciona la expresión comenzando con el final de una cadenaja$ → jajajajajajaja

Como hemos visto, muchos caracteres tienen significados especiales en una expresión regular. Si queremos hacer coincidir caracteres como + o ?, Podemos hacerlo pero añadiendo delante la barra inclinada (slash) \

Por ejemplo, \+ coincidirá con un carácter + literal: \d\+\d=\d1+1=2 6+3=9

Esta es la lista completa de caracteres a los que necesitas añadir la barra diagonal para hacer coincidir literalmente: + * ? ^ $ \ . [ ] { } ( ) | /

Alrededor

Las siguientes expresiones encuentran grupos de caracteres delante o detrás pero estos no son incluidos en el resultado.

RegexDescripciónEjemplo
(?<=…)Busca que haya una expresión antes de la expresión principal sin incluirla en el resultado. Si la expresión anterior no es encontrada se descarta la selección principal.(?<=es\s).+ → Su nombre es Laura
(?=…)Busca que haya una expresión después de la expresión principal sin incluirla en el resultado. Si la expresión de depués no es encontrada se descarta la selección principal..+(?=Laura)+Su nombre es Laura

Agrupar

Podemos utilizar paréntesis para agrupar expresiones para usar cuantificadores o expresiones de alrededor:

Para poder ver el Contenido Premium (Videotutoriales, descargas, explicaciones avanzadas, ...) de todos los cursos, Suscríbete. Si ya estás suscrito Inicia la sesión.
Scroll al inicio

Generar textos SEO efectivos con IA para posicionar tu sitio web en Google

Generar textos SEO efectivos es fundamental para posicionar nuestra web en Google. Es importante seguir las normas y crear contenidos originales e interesantes, tanto en texto como en video, y tener perfiles de marca en redes sociales. También debemos fijarnos en la estructura del contenido y los enlaces, así como en la calidad ortográfica. Con la investigación de palabras clave, la redacción y la optimización de la URL, title y meta descripción podemos crear un buen texto SEO. La generación de enlaces internos y externos y el análisis de resultados también son claves para mejorar nuestra estrategia.

Importancia del posicionamiento SEO en Google

El posicionamiento en Google es fundamental en cualquier estrategia digital. Es importante destacar que existen dos tipos de resultados diferentes: los resultados SEM y los resultados SEO, siendo estos últimos los que generan un ROI del 20%.

Resultados SEM vs Resultados SEO

Los resultados SEM son aquellos que se consiguen a través de la publicidad en Google, mientras que los resultados SEO son los que se consiguen gracias a la optimización del sitio web para aparecer en los primeros resultados de búsqueda de Google.

ROI del 20%

El hecho de conseguir un ROI del 20% gracias a las acciones de SEO es un indicador de que esta estrategia es muy eficiente en comparación con otras.

Normas de Google y creatividad en la creación de contenidos

Es importante seguir las normas de Google a la hora de crear contenidos, sin embargo, no debemos descuidar la creatividad y originalidad en la creación de contenidos interesantes y valiosos para mejorar nuestro SEO.

Creación de contenidos para SEO

La creación de contenidos interesantes y originales es clave para mejorar el posicionamiento de nuestra web en Google. A continuación, se presentan algunas claves para crear contenidos efectivos en diferentes plataformas.

Contenidos de video en YouTube e Instagram

Los contenidos en video tienen cada vez más relevancia en la estrategia de contenido para SEO. YouTube y Instagram son dos de las plataformas más utilizadas para compartir videos de marca, aunque cada una tiene sus particularidades. Es importante tener en cuenta estas diferencias y adaptar el contenido según nuestras necesidades. En YouTube, por ejemplo, los vídeos deben ser más largos y detallados, mientras que en Instagram se pueden utilizar videos más cortos y llamativos.

Perfiles de marca en redes sociales

Tener presencia en redes sociales es fundamental para mantener una buena estrategia de posicionamiento SEO. Estos perfiles de marca deben ser coherentes con el contenido de nuestra web y estar activos con publicaciones regularmente. Además, es importante utilizar las palabras clave en la biografía y utilizar contenido atractivo para invitar a los usuarios a visitar nuestra web.

Estructura del contenido, enlaces internos y ortografía

La estructura del contenido es uno de los elementos más importantes a la hora de crear contenidos para SEO. Se debe tener en cuenta la jerarquía de títulos desde el H1 hasta el H4 y seguir un orden lógico en la estructura del contenido. También es esencial incluir enlaces tanto internos como externos para mejorar la navegación y la autoridad de nuestra web. Por último, no hay que descuidar la ortografía y gramática del contenido, ya que pueden afectar negativamente la calidad de nuestra web y por tanto perjudicar el posicionamiento en buscadores.

Claves para la redacción de un buen texto SEO

Para lograr un buen posicionamiento SEO en Google y mejorar el tráfico de nuestra web debemos tener en cuenta ciertas claves en la redacción de nuestros contenidos. Entre ellas destacan:

Investigación de palabras clave

Antes de escribir un texto SEO es importante hacer una investigación de palabras clave. Debemos elegir aquellas palabras que estén relacionadas con nuestro contenido y que tengan un alto volumen de búsqueda pero que a su vez tengan una baja competencia. Esto nos ayudará a posicionar mejor nuestro contenido en los resultados de búsqueda.

Estructura del texto y linkbuilding

La estructura del texto es clave en la redacción de un buen texto SEO. Debemos estructurarlo con subtítulos H2, H3 y H4 y utilizar enlaces internos que redirijan a otros contenidos de nuestra web y enlaces externos a otras fuentes de información relacionadas con nuestro sector. Esto contribuirá a aumentar la autoridad de nuestra web y a mejorar nuestro posicionamiento.

Redacción y optimización de la URL, title y meta descripción

La redacción de la URL, el título y la meta descripción de nuestro contenido también son factores importantes en el posicionamiento SEO. Debemos crear una URL simple y descriptiva, un título llamativo y una meta descripción que resuma el contenido de forma clara y concisa. Además, debemos incluir en ellos nuestras palabras clave de forma natural y coherente.

No debemos obsesionarnos excesivamente con la optimización en sí misma, sino centrarnos en crear contenidos valiosos, interesantes y convincentes para nuestra audiencia. Todo ello nos ayudará a mejorar nuestro posicionamiento SEO en Google y a generar visitas de calidad a nuestra web.

Generación de enlaces internos y externos y análisis de resultados

La generación de enlaces internos y externos es fundamental para mejorar el SEO de nuestra web. Los enlaces internos ayudan a distribuir el valor de las páginas de nuestra web, lo que mejora la SEO de todas ellas, mientras que los enlaces externos de calidad aportan autoridad y relevancia a nuestra web, lo que la ayuda a posicionarse mejor.

Análisis a través de herramientas como Google Analytics y Search Console

Para medir el éxito de nuestra estrategia de SEO debemos analizar los datos obtenidos a través de herramientas como Google Analytics y Search Console. Estas herramientas nos permiten conocer el tráfico de nuestra web, su origen, las palabras clave utilizadas por los usuarios, la duración media de la visita, entre otros aspectos. De esta forma, podemos detectar y corregir posibles errores que estén afectando a nuestra posición en Google. Además de estas herramientas, existen otras opciones avanzadas que nos permiten mejorar la eficiencia de nuestra estrategia SEO. Algunas de ellas son Ahrefs, Moz o SEMrush, que ofrecen estadísticas detalladas sobre el rendimiento de nuestra página y nos permiten conocer a fondo la competencia.

Servicios de redacción de contenidos SEO

Si no tienes tiempo o recursos suficientes para crear contenidos SEO de calidad, existen servicios de redacción de contenidos SEO que te pueden ayudar. Estos servicios cuentan con equipos de profesionales que se encargan de crear contenidos optimizados para SEO que cumplan con todas las normas y sean atractivos para los usuarios. Además, estos servicios pueden ayudarte a investigar palabras clave, generar enlaces y optimizar tus URLs, titles y meta descripciones, entre otras cosas. Con la ayuda de estos servicios, podrás mejorar significativamente la posición de tu web en Google y aumentar el tráfico y las visitas de calidad.

Consejos para mejorar el posicionamiento SEO de nuestra web

Para mejorar el posicionamiento SEO de nuestra web, es importante seguir ciertos consejos para lograr un mayor éxito en Google:

Pensar en SEO al escribir textos

Es fundamental tener en cuenta las palabras clave y las técnicas de optimización SEO al redactar cualquier tipo de contenido, nunca olvidar esto.

Conocer a nuestro público objetivo

Es importante conocer a fondo a nuestro público objetivo, saber sus necesidades, sus intereses y su comportamiento, así podremos crear contenidos que sean atractivos para ellos.

Optimización de imágenes

Las imágenes son un factor importante en el posicionamiento SEO, ya que pueden atraer a los usuarios y mejorar la duración de su visita en nuestra web. Es necesario optimizar las imágenes en cuanto a tamaño y peso y elegir nombres de archivo adecuados con las palabras clave de nuestro nicho.

Diseño y contenido de calidad

Debemos cuidar el diseño de nuestra web para que esta sea atractiva y fácil de usar para el usuario, así conseguir que pasen más tiempo en ella. Además, el contenido debe ser interesante y relevante para tener la oportunidad de ser compartido en las redes sociales.

Esto es un mensaje emergente

Elementor cuenta con un constructor de mensajes emergentes que puedes encontrar en el menú Plantillas.

Plantillas > Mensajes emergentes

¡hola!

Ingresa tus datos de acceso