Como o padrão funciona
| Parte | Significado |
|---|---|
[0-9a-fA-F]{8} | Oito dígitos hexadecimais |
[1-8][0-9a-fA-F]{3} | O terceiro grupo começa com a versão, de 1 a 8 |
[89abAB][0-9a-fA-F]{3} | O quarto grupo começa com a variante RFC 9562: 8, 9, a ou b |
[0-9a-fA-F]{12} | Doze dígitos hexadecimais no final |
- | Traços nas posições 8-4-4-4-12 |
Exemplos 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;
Observações e limitações
Para aceitar apenas UUIDs versão 4 (aleatórios), troque [1-8] por 4. Gere valores de teste com o UUID Generator.
Testador de Expressões Regulares
Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.