
Validateur regex Go de GUID
Utilisez le Validateur regex Go de GUID pour vous assurer que vos identifiants uniques respectent la structure correcte. Testez et déboguez votre regex dans le Testeur de regex Go ou validez des données associées comme les e-mails, les URL et les mots de passe pour un workflow de qualité des données complet.
Validateur regex Go de GUID - Documentation
Introduction : qu'est-ce que le regex GUID ?
En Go (Golang), un GUID (Globally Unique Identifier), également appelé UUID (Universally Unique Identifier), est utilisé pour identifier des ressources de manière unique dans les systèmes distribués. Il garantit qu'aucune valeur ne sera jamais identique, ce qui le rend indispensable pour le suivi, la gestion de versions et les références.
Un GUID ressemble à ceci :
3f2504e0-4f89-11d3-9a0c-0305e82c3301Il contient 32 caractères hexadécimaux organisés en 5 groupes séparés par des tirets, suivant le pattern :
8-4-4-4-12La manière la plus fiable de valider les formats GUID en Go est d'utiliser des expressions régulières (regex). Regex vous permet de faire correspondre et de vérifier cette structure avant de stocker ou traiter les données.
Pattern regex GUID (avec décomposition)
Voici le pattern regex que nous utilisons pour valider un 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}$Explication :
[0-9a-fA-F]{8} : Premier groupe de 8 chiffres hexadécimaux
- : Séparateur tiret
[0-9a-fA-F]{4} : Deuxième groupe de 4 chiffres
[1-5][0-9a-fA-F]{3} : Chiffre de version (1-5) + 3 chiffres hexadécimaux supplémentaires
[89abAB][0-9a-fA-F]{3} : Chiffre de variante (commençant par 8, 9, a ou b) + 3 chiffres hex
[0-9a-fA-F]{12} : 12 derniers chiffres hexadécimaux
Les accolades sont-elles autorisées dans les GUID ?
Bien que le format GUID standard utilise des tirets pour séparer ses cinq groupes, vous pouvez aussi rencontrer des GUID entourés d'accolades, notamment dans les environnements Microsoft et certains environnements Windows. Par exemple :
Avec accolades :
{3f2504e0-4f89-11d3-9a0c-0305e82c3301}Sans accolades :
3f2504e0-4f89-11d3-9a0c-0305e82c3301
Le pattern regex fourni ci-dessus gère les deux scénarios grâce aux { et } optionnels en début et fin de pattern. Votre GUID peut ainsi être validé qu'il soit entouré d'accolades ou non, assurant la compatibilité avec les outils, API et bibliothèques qui peuvent attendre l'un ou l'autre style.
Complexité spatiale auxiliaire
La validation d'un GUID avec une expression régulière en Go est très efficace en termes d'utilisation de la mémoire. La complexité spatiale auxiliaire est O(1) : vérifier si une chaîne correspond au pattern GUID ne nécessite qu'une quantité fixe et constante de mémoire supplémentaire, quelle que soit la longueur de la chaîne. Toutes les opérations se déroulent en place, sans création de structures de données supplémentaires. Cela fait de la validation GUID par regex un choix léger et performant dans vos applications.
Performance : complexité temporelle de la validation GUID
Lorsque vous validez un GUID avec une expression régulière, le processus parcourt généralement la chaîne une fois du début à la fin pour vérifier la conformité au pattern. La complexité temporelle est donc linéaire par rapport à la longueur de la chaîne d'entrée, soit O(N), où N est le nombre de caractères du GUID candidat.
Comment valider des GUID en Go avec regex
Vous pouvez valider des GUID avec le package regexp en Go. Voici le code Go complet :
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)) }
}
Cas d'utilisation réels
Clés primaires de base de données : Identification des enregistrements dans les bases de données distribuées.
Identifiants de ressources API : Les services REST utilisent des GUID pour les ressources comme /user/3f2504e0-4f89-11d3-9a0c-0305e82c3301.
Tokens de session : Les applications web utilisent souvent des UUID pour suivre les sessions sécurisées.
Identifiants d'appareils ou de fichiers : De nombreux services de stockage cloud utilisent des GUID pour référencer les fichiers de manière unique.
Conseils avancés
Utilisez toujours des minuscules ou des majuscules de manière cohérente lors de l'affichage des GUID.
Regex valide le format uniquement, pas si le GUID est réellement unique.
N'exposez jamais de GUID liés à des ressources sensibles dans des URL non sécurisées.
Utilisez regex pour la validation mais des bibliothèques comme github.com/google/uuid pour la génération.
Pour les tests en lot, utilisez le Testeur de regex Go pour essayer rapidement différents formats.
Validation de GUID en JavaScript
Pour valider des GUID en JavaScript, vous pouvez utiliser une expression régulière pour une vérification rapide. Les GUID sont des valeurs 128 bits représentées sous forme de 32 chiffres hexadécimaux, affichés en cinq groupes séparés par des tirets, par exemple : 3f2504e0-4f89-11d3-9a0c-0305e82c3301.
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);
}Validation de GUID en Python
Voici une approche simple pour la validation de GUID en Python :
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))
Validation de GUID en Java
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(); }
}
Exemple C# : validation de GUID avec regex
using System.Text.RegularExpressions;
public static bool IsValidGuid(string input) { var pattern = @"^[{]?[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}[}]?$"; return Regex.IsMatch(input, pattern); }
Outils à associer
Validateur regex Go de mots de passe : Vérifications de mots de passe sécurisés
Validateur regex Go d'UUID : Vérifie également les UUID basés sur des versions
Validateur regex Go de numéros de téléphone : Utile pour les profils utilisateur
Validateur regex Go d'e-mail : Assurez des formats d'e-mail valides
Validateur regex Go d'URL : Validez les liens associés aux GUID
Testeur de regex Go : Expérimentez avec des formats regex personnalisés
Frequently Asked Questions
Quelle est la différence entre GUID et UUID ?
Ce regex peut-il détecter des GUID faux ou en double ?
Ce regex valide-t-il toutes les versions d'UUID ?
Les lettres majuscules dans les GUID sont-elles valides ?
Puis-je supprimer les tirets du regex ?
Related Articles



Testez vos API dès aujourd'hui !
Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.



