
Validador Regex de GUID em Go
Use o Validador Regex de GUID em Go para garantir que seus identificadores únicos sigam a estrutura correta. Teste e depure seu regex no Go Regex Tester ou valide dados associados como emails, URLs e senhas para um fluxo completo de qualidade de dados.
Validador Regex de GUID em Go - Documentação
Introdução: O que é GUID Regex?
Em Go (Golang), um GUID (Globally Unique Identifier), também conhecido como UUID (Universally Unique Identifier), é usado para identificar recursos de forma única em sistemas distribuídos. Ele garante que dois valores nunca sejam iguais, sendo vital para rastreamento, versionamento e referências.
Um GUID tem este formato:
3f2504e0-4f89-11d3-9a0c-0305e82c3301Contém 32 caracteres hexadecimais organizados em 5 grupos separados por hífens, seguindo o padrão:
8-4-4-4-12A forma mais confiável de validar formatos GUID em Go é usando expressões regulares (regex). O regex permite corresponder e verificar essa estrutura antes de armazenar ou processar os dados.
Padrão Regex de GUID (com Explicação)
Aqui está o padrão regex que usamos para validar um 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}$Explicação:
[0-9a-fA-F]{8} - Primeiro grupo de 8 dígitos hexadecimais
- - Separador hífen
[0-9a-fA-F]{4} - Segundo grupo de 4 dígitos
[1-5][0-9a-fA-F]{3} - Dígito de versão (1 a 5) + 3 dígitos hex adicionais
[89abAB][0-9a-fA-F]{3} - Dígito de variante (começando com 8, 9, a ou b) + 3 dígitos hex
[0-9a-fA-F]{12} - 12 dígitos hex finais
Chaves São Permitidas em GUIDs?
Embora o formato padrão de GUID use hífens para separar seus cinco grupos, você também pode encontrar GUIDs entre chaves, especialmente em ambientes Microsoft e Windows. Por exemplo:
Com chaves:
{3f2504e0-4f89-11d3-9a0c-0305e82c3301}Sem chaves:
3f2504e0-4f89-11d3-9a0c-0305e82c3301
O padrão regex fornecido acima é robusto o suficiente para lidar com ambos os cenários, graças ao { e } opcionais no início e no fim do padrão.
Complexidade de Espaço Auxiliar
Validar um GUID com uma expressão regular em Go é altamente eficiente em termos de uso de memória. A complexidade de espaço auxiliar é O(1), ou seja, verificar se uma string corresponde ao padrão GUID requer apenas uma quantidade fixa e constante de memória extra, independente do tamanho da string.
Desempenho: Complexidade de Tempo da Validação de GUID
A validação de GUID usando regex geralmente percorre a string uma vez do início ao fim para verificar a conformidade com o padrão. A complexidade de tempo é linear em relação ao comprimento da string de entrada, O(N), onde N é o número de caracteres no GUID candidato.
Como Validar GUIDs em Go Usando Regex
Você pode validar GUIDs usando o pacote regexp em Go. Aqui está o código Go completo:
package mainimport ( "fmt" "regexp" )
func isValidGUID(guid string) bool { pattern :=
^[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}$regex := regexp.MustCompile(pattern) return regex.MatchString(guid) }func main() { samples := []string{ "3f2504e0-4f89-11d3-9a0c-0305e82c3301", // valid "3F2504E0-4F89-11D3-9A0C-0305E82C3301", // valid uppercase "123e4567e89b12d3a456426614174000", // invalid (no hyphens) "3f25-04e0-4f89-11d3-9a0c-0305e82c3301", // invalid (group mismatch) }
for _, guid := range samples { fmt.Printf("GUID: %s | Valid: %t\n", guid, isValidGUID(guid)) }
}
Casos de Uso no Mundo Real
Chaves Primárias de Banco de Dados: Úteis para identificar registros em bancos de dados distribuídos.
Identificadores de Recursos de API: Serviços RESTful usam GUIDs para recursos como /user/3f2504e0-4f89-11d3-9a0c-0305e82c3301.
Tokens de Sessão: Aplicações web frequentemente usam UUIDs para rastrear sessões seguras.
IDs de Dispositivos ou Arquivos: Muitos serviços de armazenamento em nuvem usam GUIDs para referenciar arquivos de forma única.
Dicas Profissionais
Use sempre letras minúsculas ou maiúsculas de forma consistente ao exibir GUIDs.
O regex valida apenas o formato, não se o GUID é verdadeiramente único.
Nunca exponha GUIDs relacionados a recursos sensíveis em URLs não seguras.
Use regex para validação, mas bibliotecas como github.com/google/uuid para geração.
Para testes em lote, use o Go Regex Tester para experimentar diferentes formatos rapidamente.
Como Validar GUIDs em JavaScript
Para garantir que suas strings estejam no formato padrão GUID em JavaScript, você pode usar uma expressão regular para uma verificação rápida. Aqui está uma função direta:
function isValidGUID(input) {
const guidPattern = /^[{]?[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}[}]?$/;
return guidPattern.test(input);
}Validando GUIDs em Python
O módulo re do Python torna a validação regex simples e confiável:
import re
def is_valid_guid(guid): pattern = r'^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$' return bool(re.match(pattern, guid))
Implementando Validação de GUID em Java
As classes Pattern e Matcher do Java tornam a validação direta:
import java.util.regex.Pattern;public class GuidValidator { private static final Pattern GUID_PATTERN = Pattern.compile( "^[{]?[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}[}]?$" );
public static boolean isValidGuid(String guid) { return guid != null && GUID_PATTERN.matcher(guid).matches(); }
}
Combine com Estas Ferramentas
Validador Regex de Senha em Go - Verificações de senha segura
Validador Regex de UUID em Go - Também verifica UUIDs baseados em versão
Validador Regex de Número de Telefone em Go - Útil para perfis de usuário
Validador Regex de Email em Go - Garanta formatos de email válidos
Validador Regex de URL em Go - Valide links associados a GUIDs
Go Regex Tester - Experimente formatos de regex personalizados
Frequently Asked Questions
Qual é a diferença entre GUID e UUID?
Este regex detecta GUIDs falsos ou duplicados?
Este regex valida todas as versões de UUIDs?
Letras maiúsculas em GUIDs são válidas?
Posso remover os hífens do regex?
Related Articles



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



