¿Qué es Regex UUID?
Hay dos patrones de UUID útiles y elegir mal es la causa habitual de que un validador deje pasar basura. El permisivo solo exige 32 dígitos hexadecimales en la disposición 8-4-4-4-12 y acepta cualquier nibble de versión.
El estricto añade la comprobación de versión y variante, de modo que rechaza cadenas que tienen la forma correcta pero no son UUID reales. Elige según lo que quieras garantizar.
Cómo se usa
- Copia el patrón del lenguaje que uses.
- Ajusta entre estricto y permisivo según tu caso.
- Pega tus valores en el comprobador para ver cuáles coinciden.
Casos de uso
- Validar identificadores en un formulario o una API.
- Extraer UUID de logs y textos libres.
- Definir columnas y restricciones en bases de datos.
Las versiones de UUID de un vistazo
| Versión | ¿Ordenable? | Basada en | Para qué sirve |
|---|---|---|---|
| v1 | No | Marca de tiempo + dirección MAC | Sistemas antiguos que aún esperan v1 |
| v3 | No | Hash MD5 de un nombre | Identificadores deterministas donde se exige MD5 |
| v4 | No | 122 bits aleatorios | Prácticamente cualquier identificador |
| v5 | No | Hash SHA-1 de un nombre | Un mismo nombre debe dar siempre el mismo ID |
| v6 | Sí | Marca de tiempo reordenada | IDs ordenables sin renunciar al azar |
| v7 | Sí | Hora Unix en milisegundos | Claves primarias de base de datos y eventos |
| v8 | No | Tu propia disposición de bits | Formatos propios o experimentales |
Las siete versiones ocupan 128 bits y se escriben con la misma forma 8-4-4-4-12. Lo único que cambia es el significado de los bits.
Preguntas frecuentes
¿Por qué algunos patrones públicos fallan?
Muchos solo comprueban que hay 32 dígitos hexadecimales separados por guiones. Eso acepta valores con una versión imposible; si necesitas rigor, usa el patrón estricto.
¿Qué hace <code>i</code> al final del patrón?
Activa la coincidencia sin distinguir mayúsculas y minúsculas, algo cómodo si tus datos mezclan ambos estilos.
¿Los patrones aceptan valores sin guiones?
El permiso estricto no. Si tus datos pueden venir sin guiones, normaliza antes con el formateador o usa un patrón alternativo.