NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Validador Regex de GUID em Python

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-xxxxxxxxxxxx

Onde 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 re

def 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

  • \w corresponde 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?

Funcionalmente, eles são similares. UUID é o padrão oficial, enquanto GUID é o termo da Microsoft para a mesma coisa.

Este regex detecta GUIDs inválidos ou duplicados?

Ele verifica apenas o formato, não a unicidade ou validade real.

Quais versões de GUID este suporta?

O padrão suporta versões 1 a 5 conforme os padrões UUID.

Maiúsculas e minúsculas importam em GUIDs?

O regex suporta valores hexadecimais tanto em minúsculas quanto em maiúsculas.

Este é adequado para validação de banco de dados?

Sim, é ideal para garantir que dados de entrada estejam no formato GUID antes da inserção.

Teste suas APIs hoje!

Escreva em português simples, o Qodex transforma em testes seguros e prontos para execução.