Cómo funciona el patrón
| Parte | Significado |
|---|---|
[0-9a-fA-F]{8} | Ocho dígitos hexadecimales |
[1-8][0-9a-fA-F]{3} | El tercer grupo empieza por la versión, de 1 a 8 |
[89abAB][0-9a-fA-F]{3} | El cuarto grupo empieza por la variante de RFC 9562: 8, 9, a o b |
[0-9a-fA-F]{12} | Doce dígitos hexadecimales al final |
- | Guiones en las posiciones 8-4-4-4-12 |
Ejemplos de código
JavaScript
const re = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}', value))PHP
preg_match('/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/', $value) === 1;
Notas y limitaciones
Para aceptar solo UUID de versión 4 (aleatorios), cambia [1-8] por 4. Genera valores de prueba con el Generador de UUID.
Probador de expresiones regulares
Escribe un patrón y observa cómo se resaltan las coincidencias en tiempo real en tu texto de prueba.