Usar expresiones regulares en XLSForm

Última actualización: 6 May 2026

Una expresión regular, o regex, es un patrón de búsqueda que se utiliza para identificar caracteres específicos o rangos de caracteres dentro de un texto. Las expresiones regulares se usan comúnmente para validar, buscar, extraer o restringir la entrada de texto.

En KoboToolbox, las expresiones regulares se utilizan principalmente para controlar cómo los usuarios ingresan datos. Por ejemplo, puedes restringir un número de teléfono a exactamente 10 dígitos, aplicar un formato de identificación específico o limitar el texto solo a letras mayúsculas.

Este artículo ofrece una descripción general de los componentes más comunes de las expresiones regulares y ejemplos prácticos que puedes usar para validar y restringir la entrada de texto en tus formularios.

Para obtener más información sobre el uso de expresiones regulares en tus formularios, consulta Introducción a la lógica de formularios en XLSForm y Introducción a la lógica de formularios en el Formbuilder.

Componentes comunes de regex

Las expresiones regulares en KoboToolbox se escriben dentro de la función regex(). Por ejemplo, regex(., '^[0-9]{10}$') restringe una entrada a exactamente 10 dígitos.

Las siguientes tablas describen los elementos de regex más utilizados.

Anclajes y agrupaciones

Regex

Descripción

^

Coincide con el inicio de una cadena

$

Coincide con el final de una cadena

( )

Agrupa caracteres

|

Coincide con un patrón u otro (OR lógico)

Clases de caracteres

Regex

Descripción

[abc]

Coincide con a, b o c

[a-z]

Coincide con cualquier letra minúscula

[A-Z]

Coincide con cualquier letra mayúscula

[0-9]

Coincide con cualquier dígito del 0 al 9

[a-zA-Z0-9]

Coincide con letras o dígitos

[^abc]

Coincide con cualquier carácter excepto a, b o c

[^A-Z]

Coincide con cualquier carácter excepto letras mayúsculas

Atajos de caracteres especiales

Regex

Descripción

\d

Coincide con cualquier dígito (equivalente a [0-9])

\D

Coincide con cualquier carácter que no sea un dígito

\w

Coincide con cualquier letra, número o guión bajo (_)

\W

Coincide con cualquier carácter excepto letras, números y guiones bajos (_)

\s

Coincide con un espacio o tabulación

\b

Coincide con un límite de palabra

\.

Coincide con un punto literal (.)

\@

Coincide con un @ literal

\$

Coincide con un $ literal

\\

Coincide con una barra invertida literal (\)

\number

Hace referencia a un grupo previamente identificado

Cuantificadores

Regex

Descripción

?

Coincide con cero o una ocurrencia

*

Coincide con cero o más ocurrencias

+

Coincide con una o más ocurrencias

{x}

Coincide con exactamente x ocurrencias

{x,}

Coincide con al menos x ocurrencias

{x,y}

Coincide con entre x e y ocurrencias

Ejemplos comunes

Los siguientes ejemplos pueden usarse como restricciones o criterios de validación en tus formularios.

Expresiones regex comunes con números

Regex

Descripción

regex(., “^\d+$”)

Limitar la entrada a números

regex(., “^\d{2}$”)

Limitar la entrada a 2 dígitos

regex(., “^\d{2,4}$”)

Limitar la entrada a 2-4 dígitos

regex(., “^\d{10}$”)

Limitar la entrada a 10 dígitos

regex(., “^[1-9][0-9]?$|^100$”)

Limitar la entrada a un número entre 1 y 100 (por ejemplo, para un porcentaje)

regex(., “^[1-9][0-9]{8}$”)

Limitar la entrada a 9 dígitos; el primer dígito no puede ser 0

regex(., “^\d{2}.\d{3}$”)

Limitar la entrada a un número con formato 12.345

regex(., “^(\d{10}|\d{13}|\d{17})$”)

Limitar la entrada a 10, 13 o 17 dígitos

regex(., “^(12|345)$”)

La entrada debe ser 12 o 345

regex(., '^[0-9+]{7,15}$')

Limitar la entrada a un número de teléfono (incluido el signo + opcional)

Expresiones regex comunes con letras

Regex

Descripción

regex(., “^\D*$”)

Limitar la entrada a letras, espacios y símbolos (sin números)

regex(., “^[A-Za-z]+$”)

Limitar la entrada a letras

regex(., “^[A-Za-z\s]+$”)

Limitar la entrada a letras y espacios

regex(., “^[a-z]{1,6}$”)

Limitar la entrada a entre 1 y 6 letras minúsculas

regex(., “^[A-Z]{1,10}$”)

Limitar la entrada a entre 1 y 10 letras mayúsculas

regex(., “^(Apple|Orange|Banana)$”)

La entrada debe coincidir con una palabra de la lista

regex(., “^colou?r$”)

Permite color o colour

regex(., “^[A-Z\s]+$”)

Limitar la entrada solo a letras mayúsculas y espacios

regex(., “^[a-z_]+$”)

Limitar la entrada a letras minúsculas y guiones bajos (_)

Expresiones regex comunes con letras y números

Regex

Descripción

regex(., “^\w{3}$”)

Limitar la entrada a exactamente 3 letras, dígitos o guiones bajos (_)

regex(., “^[A-Z]{1}[0-9]{8}$”)

Limitar la entrada a una letra y ocho números

regex(., “^CAR-PRC-2020-\d{4}$”)

Limitar la entrada a un formato de ID específico

regex(., “^\W*(\w+\b\W*){3}$”)

Limitar la entrada a exactamente 3 palabras

regex(., “^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*(\.[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)*\.[a-zA-Z]{2,}$”)

Limitar la entrada a un formato de correo electrónico común

Para obtener ayuda adicional para construir y probar patrones, visita: http://www.regexr.com/