Search the knowledge base, browse our resources, and visit our forum for more detailed information
Read in English | Lire en français | اقرأ باللغة العربية Última actualización: 29 Jul 2025
Una expresión regular, o regex, es un patrón de búsqueda utilizado para hacer coincidir caracteres específicos y rangos de caracteres dentro de una cadena. Se utiliza ampliamente para validar, buscar, extraer y restringir texto en la mayoría de los lenguajes de programación. KoboToolbox admite regex para controlar la longitud y los caracteres durante la entrada de datos a una pregunta en particular (por ejemplo, controlar la entrada de un número de teléfono móvil a exactamente 10 dígitos, controlar la entrada de un correo electrónico válido, etc.).
Prepara una pregunta de tipo Texto.
Ve a la Configuración de la pregunta.
Ve a Criterios de Validación y elige la opción Introducir manualmente tu lógica de validación en código XLSForm.
En el cuadro Código de Validación, ingresa tu fórmula regex entre las comillas (' ') del formato regex(., ' '). Como referencia, el punto (.) se refiere a “esta pregunta”, mientras que la expresión regular dentro de las comillas (' ') debe cumplir con las reglas establecidas de regex.
(Opcional) Agrega un Mensaje de Error personalizado para que la persona que ingresa datos lo vea cuando no cumpla con los criterios de regex.

Regex también se puede codificar en XLSForm, bajo la columna constraint:
hoja survey
type |
name |
label |
appearance |
constraint |
constraint_message |
|---|---|---|---|---|---|
text |
q1 |
Número de teléfono móvil del/a encuestado/a |
numbers |
regex(., “^[0-9]{10}$”) |
Este valor debe tener solo 10 dígitos |
survey |
Alternativamente, puedes crear una pregunta de tipo calculate y luego definir el código regex bajo la columna calculation. Luego podrías usar esta variable tantas veces como sea necesario en la encuesta:
hoja survey
type |
name |
label |
calculation |
constraint |
constraint_message |
|---|---|---|---|---|---|
calculate |
q0 |
“^[A-Z]{1}[a-z]{1,}\s[A-Z]{1}[a-z]{1,}$” |
|||
text |
q1 |
Nombre del/a Encuestador/a |
regex(., ${q0}) |
Por favor usa este formato: Kobe Bryant |
|
text |
q2 |
Nombre del/a Encuestado/a |
regex(., ${q0}) |
Por favor usa este formato: Kobe Bryant |
|
integer |
q3 |
Edad del/a Encuestado/a |
|||
survey |
Además de los ejemplos y consejos proporcionados a continuación, por favor visita este sitio web para obtener más ayuda y ejemplos.
Regex en KoboToolbox siempre debe escribirse entre los apóstrofes regex(., ' ') como se muestra en los ejemplos.
Regex |
Descripción |
|---|---|
|
El símbolo de intercalación coincide con el inicio de una cadena sin consumir ningún carácter. |
|
El símbolo de dólar coincide con el final de una cadena sin consumir ningún carácter. |
|
Coincide con |
|
Coincide con cualquier carácter en minúscula de |
|
Coincide con cualquier carácter en mayúscula de |
|
Coincide con cualquier número entero de |
|
Coincide con cualquier carácter de |
|
Coincide con cualquier carácter excepto |
|
Coincide con cualquier carácter excepto aquellos en el rango de |
|
El carácter de agrupación |
|
Una barra vertical coincide con cualquier elemento separado. |
|
Una barra invertida se usa para coincidir con el valor literal de cualquier metacarácter (por ejemplo, intenta usar |
|
Coincide con el mismo carácter que coincidió más recientemente con el nésimo (número usado) grupo de captura. |
|
Coincide con cualquier espacio o tabulación. |
|
Coincide, sin consumir ningún carácter, inmediatamente entre un carácter que coincide con |
|
Coincide con cualquier número equivalente |
|
Coincide con cualquier cosa que no sean números |
|
Coincide con cualquier carácter de palabra (es decir, |
|
Coincide con cualquier cosa que no sea lo que coincide con |
|
Un signo de interrogación usado justo detrás de un carácter coincide u omite (si no es necesario) una coincidencia de carácter. |
|
Un símbolo de asterisco usado justo detrás de un carácter coincide con cero o más caracteres consecutivos. |
|
El símbolo de más usado justo detrás de un carácter coincide con uno o más caracteres consecutivos. |
|
Coincide exactamente con |
|
Coincide con al menos |
|
Coincide entre |
Regex |
Descripción |
|---|---|
|
Acepta caracteres con acentos en minúsculas y mayúsculas |
|
Acepta caracteres con acentos en minúsculas y mayúsculas pero incluyendo letras con diéresis (incluye [ ] ^ \ × ÷) |
|
Acepta caracteres con acentos en minúsculas y mayúsculas pero sin incluir [ ] ^ \ |
|
Acepta caracteres con acentos en minúsculas y mayúsculas pero sin incluir [ ] ^ \ × ÷ |
Para todas las preguntas de tipo text que usan números, no olvides escribir numbers bajo la columna appearance.
Regex |
Descripción |
|---|---|
|
Restringir número de teléfono móvil a diez dígitos |
|
Restringir una entrada a |
|
Restringir una entrada entre |
|
Restringir una entrada a |
|
Restringir una entrada de nueve dígitos donde el primer número no puede ser |
|
Restringir una entrada a un dígito entre |
|
Restringir una entrada a cinco dígitos entre |
|
Restringir una entrada a dos dígitos y tres decimales (por ejemplo, |
|
Restringir una entrada a dos dígitos y tres decimales (mientras que los decimales son opcionales) (por ejemplo, |
|
Restringir una entrada solo a números de |
Regex |
Descripción |
|---|---|
|
Restringir una entrada a cualquier letra en minúscula (hasta 6 caracteres de longitud) |
|
Restringir una entrada a cualquier letra en mayúscula (hasta 10 caracteres de longitud) |
|
Restringir una entrada solo a |
|
Restringir una entrada solo a |
|
Restringir una entrada del nombre de los/as beneficiarios/as donde las iniciales del primer nombre y apellido están en mayúscula por ejemplo, |
|
Restringir una entrada del nombre de los/as beneficiarios/as con primer nombre, segundo nombre (si lo hay) y apellido por ejemplo, |
|
Restringir una entrada del nombre completo de los/as beneficiarios/as donde las iniciales de los nombres están en mayúscula y el nombre es bastante largo (a menudo mayor a 3 palabras) por ejemplo, |
|
Restringir una entrada del primer nombre de los/as beneficiarios/as (para que puedas capturar la ortografía exacta) donde los/as encuestadores/as están obligados/as a ingresar el primer nombre de los/as beneficiarios/as dos veces por ejemplo, |
|
Restringir una entrada del apellido de los/as beneficiarios/as (para que puedas capturar la ortografía exacta) donde los/as encuestadores/as están obligados/as a ingresar el apellido de los/as beneficiarios/as dos veces por ejemplo, |
|
Restringir un carácter dentro de una palabra usando el |
|
Restringir un carácter dentro de una palabra usando el |
|
Restringir un carácter dentro de una palabra usando el |
|
Restringir una entrada a un carácter que no sea dígito (por ejemplo, |
|
Restringir una entrada a cinco caracteres que no sean dígitos (por ejemplo, |
|
Restringir toda la entrada de texto a mayúsculas, excluyendo caracteres especiales (! @ # $ % ^ & * ( ) . , ? / « “ etc.) |
|
Restringir toda la entrada de texto a mayúsculas, incluyendo caracteres especiales (! @ # $ % ^ & * ( ) . , ? / « “ etc.) |
|
Restringir toda la entrada de texto a minúsculas, excluyendo caracteres especiales (! @ # $ % ^ & * ( ) . , ? / « “ etc.) |
|
Restringir toda la entrada de texto a minúsculas, incluyendo caracteres especiales (! @ # $ % ^ & * ( ) . , ? / « “ etc.) |
XLSForm Regex |
Descripción |
|---|---|
|
Restringir un carácter que coincida entre |
|
Restringir tres caracteres que coincidan entre |
|
Restringir tu ID de beneficiario/a a un formato específico por ejemplo, |
|
Restringir tu ID de beneficiario/a a un formato específico por ejemplo, |
|
Restringir una entrada de moneda de tres dígitos con un signo de moneda (ya sea |
|
Restringir una entrada exacta del número de palabras (por ejemplo, para restringir exactamente 3 palabras |
|
Restringir una entrada del número de palabras (por ejemplo, para restringir un rango de palabras digamos de |
Estos ejemplos son puramente ilustrativos y deben ajustarse para tu caso de uso. Usar regex para restringir direcciones de correo electrónico no garantiza que sean válidas, solo que siguen un patrón esperado.
Regex |
Descripción |
|---|---|
|
Restringir entrada a dirección de correo electrónico válida (por ejemplo, |
Regex |
Descripción |
|---|---|
|
Restringir una entrada de tiempo en formato de |
|
Restringir una entrada de tiempo en formato de |
Si deseas usar una restricción regex en un número en una pregunta de tipo text,
asegúrate de siempre tener el valor numbers bajo la columna appearance.
Esto restringe la visualización de letras, haciendo que solo los números sean visibles para
las entradas.
La aplicación de Android de KoboCollect y Enketo se comportan de manera diferente con su manejo de
expresiones regex. KoboCollect se comporta como si hubieras usado los anclajes ^ y $
alrededor de la expresión (incluso si no los has usado), mientras que Enketo requiere
los anclajes como obligatorios para una coincidencia exacta.
Did you find what you were looking for? Was the information clear? Was anything missing?
Share your feedback to help us improve this article!
KoboToolbox is maintained by Kobo Inc.