
Validador Regex de GUID em Python
O Validador Regex de GUID em Python foi projetado para ajudar desenvolvedores e testadores a confirmar que GUIDs (Globally Unique Identifiers) correspondem à formatação correta. Perfeito para validar tokens de API, IDs de recursos ou chaves de banco de dados, esta ferramenta é essencial para verificações de qualidade. Você pode combiná-la com o Validador Regex de UUID em Python ou o Validador Regex de Endereço MAC em Python para criar fluxos de validação sólidos nos seus projetos Python.
Validador Regex de GUID em Python - Documentação
O que é um GUID?
Um GUID é um identificador único de 128 bits frequentemente usado para rotular recursos como usuários, sessões ou registros. Aparece como uma string neste formato:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxOnde cada x é um dígito hexadecimal (0-9, a-f ou A-F). Embora GUIDs e UUIDs sejam funcionalmente similares, GUIDs são mais comuns em sistemas baseados em Microsoft.
Padrão Regex para GUID em Python
Aqui está um padrão regex que valida com precisão um GUID padrão:
^[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}$Isso garante:
8 dígitos no início
Seguidos por três grupos de 4 dígitos (separados por hífens)
Termina com 12 dígitos hex
Melhorando o Regex para Validação Mais Rigorosa de GUID
O padrão original \w{8}-\w{4}-\w{4}-\w{4}-\w{12} verifica a estrutura geral correta, mas é um pouco relaxado: ele corresponde a qualquer caractere de "palavra" (letras, números e sublinhados), não apenas dígitos hexadecimais. Para apertar a validação:
^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$Esta versão garante:
Cada grupo contém apenas dígitos hex válidos.
Os comprimentos exatos e posicionamentos de hífens são impostos.
Caracteres extras ou inválidos serão corretamente rejeitados.
Para validação ainda mais rigorosa (como validar os bits de versão ou variante específicos do GUID):
^[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}$Exemplo Python para Validar GUID
import redef is_valid_guid(guid): pattern = re.compile( r'^[0-9a-fA-F]{8}-' r'[0-9a-fA-F]{4}-' r'[1-5][0-9a-fA-F]{3}-' r'[89abAB][0-9a-fA-F]{3}-' r'[0-9a-fA-F]{12}$' ) return bool(pattern.fullmatch(guid))
Test GUIDs
test_guids = [ "123e4567-e89b-12d3-a456-426614174000", "00112233-4455-6677-8899-aabbccddeeff", "invalid-guid-format" ]
for g in test_guids: print(f"{g} -> {is_valid_guid(g)}")
Deve Usar \w ou [a-f0-9] em Padrões Regex de GUID?
Quando se trata de validar GUIDs em Python, o regex que você escolhe importa. Enquanto \w é um atalho conveniente para "caractere de palavra" (que inclui letras, dígitos e sublinhados), é um pouco generoso demais para validação de GUID.
A Diferença Principal
\wcorresponde a letras maiúsculas e minúsculas (A-Z, a-z), dígitos (0-9) e sublinhado (_).[a-f0-9]especificamente restringe a correspondência a dígitos hexadecimais minúsculos, que é exatamente o que GUIDs padrão usam.
Por que a Precisão Importa
Usando o padrão comum \w{8}-\w{4}-\w{4}-\w{4}-\w{12}, sublinhados e qualquer letra do alfabeto seriam aceitos, não apenas o conjunto hexadecimal. GUIDs inválidos poderiam passar despercebidos.
Quando Usar Qual
Escolha
[a-f0-9]se quiser validação GUID estrita somente em minúsculas.Se esperar hex maiúsculo em GUIDs, use
[a-fA-F0-9].
Casos de Uso
IDs de Registro de Banco de Dados: Use GUIDs como chaves primárias para sistemas distribuídos.
Tokens de Autenticação: Valide GUIDs passados via headers de API ou query strings.
Sincronização de Dados: Corresponda GUIDs em armazenamento local e remoto para garantir consistência.
Ferramentas de Depuração: Use com o Validador Regex de Endereço IP em Python para monitorar identificadores baseados em rede.
Dicas Profissionais
Sempre sanitize entradas de GUID, especialmente de fontes do lado do cliente.
Remova espaços em branco no início e no fim antes da validação.
Combine com o Validador Regex de Data em Python quando trabalhar com identificadores com timestamp.
Use GUIDs em minúsculas em sistemas onde maiúsculas e minúsculas não importam para manter consistência.
Frequently Asked Questions
Qual é a diferença entre um GUID e um UUID?
Este regex detecta GUIDs inválidos ou duplicados?
Quais versões de GUID este suporta?
Maiúsculas e minúsculas importam em GUIDs?
Este é adequado para validação de banco de dados?
Related Articles



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



