Patrones y Expresiones Regulares (RegEx) más utilizadas en Sagicc

Patrones y Expresiones Regulares (RegEx) más utilizadas en Sagicc

En el contexto del módulo Bot Builder, un patrón es la palabra o caracter que debe coincidir con los mensajes entrantes enviados por el cliente para que el Bot ejecute la lógica del nodo. Este patrón puede ser una cadena de texto exacta (por ejemplo, si el patrón dado es “Hola”, la lógica del nodo de ejecutará cuando el cliente escriba “Hola”, o una expresión regular que abarque varias opciones. Más información sobre expresiones regulares y patrones aquí: https://mzl.la/3jecVOJ

 

Las expresiones regulares permiten validar lo que el cliente escribe en los nodos del flujo. A continuación, te compartimos las más utilizadas en Sagicc y su explicación:

 

Validaciones Básicas

 

Descripción

Expresión Regular

Observaciones

Solo números

^[0-9]+$

Valida que el cliente ingrese solo números. Recomendado usar modificador i.

Solo letras (sin tildes ni espacios)

^[a-z]+$

Valida que el cliente ingrese solo letras sin tildes ni espacios. Con el modificador i acepta mayúsculas.

Solo opciones distintas a 1, 2, 3 y 4

[^1234]

Detecta que el cliente ingrese cualquier carácter que no sea 1, 2, 3 o 4.

Capturar cualquier entrada del cliente (1)

.*.

Valida cualquier contenido ingresado por el cliente.

Solo letras con tildes, espacios y Ñ/ñ

^[A-Za-zÁÉÍÓÚáéíóúñÑ ]+$

Ideal para nombres o textos en español.

Capturar cualquier entrada del cliente (2)

.*

Acepta cualquier texto, útil como condición general.

Formato fecha DD/MM/AAAA

^([0-2][0-9]|3[0-1])/(0[1-9]|1[0-2])/\d{4}$

Valida que el cliente ingrese una fecha en el formato día/mes/año. Ejemplo: 25/12/2025

Formato fecha AAAA-MM-DD

^((19\d{2})|(20\d{2}))-(((02)-(0[1-9]|[1-2][0-9]))|(((0[1,3-9])|(1[0-2]))-(0[1-9]|[1-2][0-9]|30))|((01|03|05|07|08|10|12)-(31)))$

Valida que el cliente ingrese una fecha en el formato año-mes-día. Ejemplo: 2025-04-04

Formato estándar de email

^[\w\.-]+@[\w\.-]+\.\w+$

Valida que el cliente ingrese un correo electrónico. Ejemplo: usuario@dominio.com

Palabra exacta dentro de una oración

\bflota\b

Valida solo la palabra exacta “flota” sin coincidencias parciales.

Capturar contenido entre paréntesis

\(+\s*([^\s)]+)\s*\)+

Extrae texto entre paréntesis, ignorando espacios. Ideal para capturar códigos o palabras clave.

Sólo números, con mínimo y máximo de caracteres

^[0-9]{7,10}$

Valida que el cliente ingrese solo entre 7 y 10 caracteres numéricos.

 

image-20250407-192128.png
Ejemplo de validación de palabra exacta (“Flota”)

 

image-20250407-192211.png
Ejemplo de validación de números y cantidad de caracteres

 

Variables para validación de horario

 

Estas variables del sistema permiten validar fechas y horas en tiempo real, y controlar el comportamiento del flujo del bot según el día y la hora.

 

Variable

Descripción

Variable

Descripción

sagicc_hora_actual.format.Ymd

Permite validar si la fecha actual corresponde a un día específico, usando el formato AAAAMMDD.

sagicc_hora_actual.weekday

Permite validar si el día actual corresponde a un día específico de la semana: Monday (Lunes), Tuesday (Martes), Wednesday (Miércoles), Thursday (Jueves), Friday (Viernes), Saturday (Sábado), Sunday (Domingo).

sagicc_hora_actual.hours

Permite validar si la hora actual corresponde a una hora específica o si se encuentra dentro de un rango horario determinado (formato 0 a 23).

sagicc_hora_actual.format.His

Permite validar si la hora actual coincide exactamente con una hora, minuto y segundo específicos.

 

image-20250407-192311.png
Ejemplo de validación de fecha exacta
image-20250407-192405.png
Ejemplo de validación de día de la semana

 

image-20250407-192602.png
Ejemplo de validación de rango de horas
image-20250407-192628.png
Ejemplo de validación de hora exacta

 

Uso de los modificadores insensitive (i) y multiline (m)

 

  • i (insensitive): Ignora si las letras que ingresa el cliente están en mayúscula o minúscula. Ejemplo: ^hola$ con i acepta tanto hola como HoLa.

  • m (multiline): Hace que los caracteres ^ y $ coincidan con el inicio y final de cada línea, no solo del texto completo.

  • Ejemplo con ambos (mi): Permite búsquedas flexibles en textos largos con varias líneas y sin importar el uso de mayúsculas.

 

image-20250407-193252.png

 

image-20250407-193333.png