
UUID Regex Python Validator
Valide strings UUID com o UUID Regex Python Validator, criado para desenvolvedores Python que trabalham com APIs seguras, bancos de dados e sistemas distribuídos. Esta ferramenta verifica se seus identificadores estão em conformidade com o formato UUID padrão usando regex em Python. Para suítes de validação completas, combine-a com o Email Regex Python Validator ou o IP Address Regex Python Validator para fortalecer as verificações de entrada do seu backend.
UUID Regex Python Validator - Documentação
O que é UUID Regex?
Um UUID (Universally Unique Identifier) é um identificador de 128 bits usado para rotular dados de forma única entre sistemas. Normalmente é representado como 32 caracteres hexadecimais divididos em 5 grupos por hífens, como:
123e4567-e89b-12d3-a456-426614174000UUIDs são usados em bancos de dados, APIs, microsserviços, IoT e em qualquer contexto que exija unicidade global.
Padrão UUID Regex em Python
Para corresponder a um formato UUID padrão (v1 a v5), use este padrão regex:
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$Este padrão verifica:
8 caracteres hexadecimais
Grupo de versão com 4 dígitos (começando com 1 a 5)
Grupo de variante com 4 dígitos (começando com 8 a b)
12 dígitos hexadecimais finais
Como Validar UUIDs com Regex em Python
Veja como usar o módulo re em Python para corresponder UUIDs válidos:
import redef is_valid_uuid(uuid_str): pattern = re.compile(r'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$') return bool(pattern.match(uuid_str))
Example test
uuids = [ "123e4567-e89b-12d3-a456-426614174000", # Valid "123e4567e89b12d3a456426614174000", # Invalid (no hyphens) "ZZZe4567-e89b-12d3-a456-426614174000" # Invalid (non-hex) ]
for u in uuids: print(f"{u} -> {is_valid_uuid(u)}")
A função acima oferece uma forma direta de verificar se uma string corresponde ao padrão UUID padrão. Ela retorna verdadeiro se a entrada estiver no formato esperado; caso contrário, retorna falso.
Para uma validação mais robusta, especialmente quando você quer garantir que a string representa de fato um objeto UUID válido em Python (não apenas o padrão correto), você também pode usar o módulo embutido. Essa abordagem tenta criar um objeto a partir da entrada. Se bem-sucedida, a entrada é um UUID válido; caso contrário, uma exceção é lançada e capturada, indicando um UUID inválido:
Use
is_valid_uuidbaseado em regex para verificações simples de formato.Use o método do módulo para validação mais profunda de valores UUID reais.
Ambos os métodos são úteis, dependendo se você precisa de uma verificação rápida de formato ou de uma validação completa que capture problemas fora do padrão.
Por que Converter Entradas para String Antes de Validar?
Antes de passar seu UUID pelo validador, é uma boa ideia converter a entrada para string. Isso ajuda a evitar erros quando alguém passa um valor que já não está em formato de string, como um inteiro, um objeto UUID ou algo inesperado.
Ao envolver sua entrada em str(value) antes da verificação, você garante que o validador sempre receba uma string. Esse hábito simples pode evitar bugs confusos, especialmente quando seu código pode encontrar diferentes tipos de dados (por exemplo, ao lidar com JSON, entrada do usuário ou dados de APIs externas). É uma medida defensiva que mantém sua lógica de validação robusta em diversas situações.
Lidando com Tipos de Entrada Mistos para Validação de UUID
Às vezes, o valor que você quer verificar não é uma string: pode ser um inteiro, um objeto ou algo inesperado. Para lidar com isso, é uma boa ideia converter primeiro o que você recebe para string antes de executar a validação de UUID com regex. Assim, a função não vai falhar se encontrar um inteiro ou outro tipo.
Com essa modificação, você pode passar inteiros, strings ou outros tipos, e desde que sua representação em string corresponda ao formato UUID, está tudo certo. Essa abordagem mantém sua validação robusta e compatível com todo tipo de entrada.
Correspondendo UUIDs Sem Hífens
Se você precisar corresponder UUIDs em que os hífens foram removidos, algo encontrado em chaves compactas de banco de dados ou sistemas legados, você pode ajustar o padrão regex. Em vez de incluir hífens como separadores, procure por uma string contínua de 32 caracteres hexadecimais.
Veja como modificar o padrão:
^[0-9a-fA-F]{32}$Este padrão corresponde a UUIDs escritos como uma única string hexadecimal ininterrupta de 32 caracteres (por exemplo, 123e4567e89b12d3a456426614174000). É útil ao lidar com formatos não padrão ou ao limpar entradas do usuário antes da validação.
Escolha o padrão que corresponde ao formato dos seus dados, com ou sem hífens, conforme as necessidades da sua aplicação.
Lidando com Entradas UUID Não-String
O construtor uuid.UUID em Python é bastante flexível: pode aceitar mais do que apenas entrada em string. Embora seja mais comumente usado com representações em string de UUIDs, você pode encontrar inteiros ou outros tipos ao analisar dados.
Para garantir uma validação sem problemas, é uma boa ideia converter explicitamente sua entrada para string antes de passá-la para uuid.UUID. Isso evita erros inesperados ao lidar com números ou tipos de entrada mistos. Ao converter entradas para string primeiro, você torna a validação de UUID mais robusta, especialmente quando a origem ou o tipo dos dados pode variar.
Casos de Uso
Identificação de Recursos de API: Use UUIDs em endpoints REST ou payloads JSON para referenciar registros de forma única.
Indexação de Banco de Dados: Use UUIDs como chaves primárias para evitar colisões em tabelas distribuídas.
Gerenciamento de Sessão: Valide tokens baseados em UUID para sessões de usuário em aplicações seguras.
Envio de Formulários: Verifique se campos ocultos em formulários passam UUIDs válidos.
Combine com o Password Regex Python Validator para proteger dados de login do usuário.
Dicas Pro
UUIDs podem ser minúsculos ou maiúsculos, e este padrão corresponde a ambos.
Use o módulo uuid do Python para gerar e comparar UUIDs, e valide o formato com este regex.
Como alternativa, você pode validar se uma string é um UUID verdadeiro (não apenas correspondendo ao formato, mas realmente construível como objeto UUID) tentando criar uma instância em um bloco try/except. Se a string for um UUID válido, o objeto é criado com sucesso; caso contrário, uma exceção é lançada. Isso adiciona uma camada extra de segurança além da correspondência de formato por regex.
Este regex verifica apenas o formato, não a aleatoriedade ou lógica de versão do UUID.
Normalize UUIDs para minúsculas usando .lower() antes do armazenamento para consistência.
Combine com o Email Regex Python Validator ou o Phone Number Regex Python Validator para validação completa de formulários em apps Python.
Frequently Asked Questions
Quais versões de UUID este regex suporta?
Posso usar este regex para validar UUIDs em maiúsculas?
Este formato é adequado para chaves de banco de dados?
O que acontece se um UUID não tiver hífens?
Este regex pode detectar números de versão UUID inválidos?
Related Articles



Teste suas APIs hoje!
Escreva em português simples, o Qodex transforma em testes seguros e prontos para executar.



