
Validateur UUID Regex Python
Validez vos chaînes UUID avec le Validateur UUID Regex Python, conçu pour les développeurs Python travaillant sur des API sécurisées, des bases de données et des systèmes distribués. Cet outil vérifie si vos identifiants respectent le format UUID standard à l'aide de regex Python. Pour des suites de validation complètes, combinez-le avec le Validateur Email Regex Python ou le Validateur IP Address Regex Python pour renforcer les contrôles d'entrée de votre backend.
Validateur UUID Regex Python - Documentation
Qu'est-ce qu'un UUID Regex ?
Un UUID (Universally Unique Identifier) est un identifiant de 128 bits utilisé pour étiqueter des données de manière unique à travers les systèmes. Il est généralement représenté sous forme de 32 caractères hexadécimaux répartis en 5 groupes séparés par des tirets, comme :
123e4567-e89b-12d3-a456-426614174000Les UUID sont utilisés dans les bases de données, les API, les microservices, l'IoT et tout contexte nécessitant une unicité globale.
Pattern Regex UUID en Python
Pour correspondre au format UUID standard (v1 à v5), utilisez ce pattern 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}$Ce pattern vérifie :
8 caractères hexadécimaux
groupe de version à 4 chiffres (commençant par 1 à 5)
groupe de variante à 4 chiffres (commençant par 8 à b)
12 chiffres hexadécimaux finaux
Comment valider des UUID avec Regex en Python
Voici comment utiliser le module re en Python pour valider des UUID :
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)}")
La fonction ci-dessus offre un moyen simple de vérifier si une chaîne correspond au pattern regex UUID standard. Elle retourne True si l'entrée correspond au format UUID attendu, sinon False.
Pour une validation plus robuste, notamment lorsque vous souhaitez vous assurer que la chaîne représente réellement un objet UUID valide en Python (et pas seulement le bon pattern), vous pouvez également utiliser le module intégré uuid. Cette approche tente de créer un objet UUID à partir de l'entrée. En cas de succès, l'entrée est un UUID valide ; sinon, une exception est levée et interceptée :
Utilisez
is_valid_uuidbasée sur regex pour des vérifications de format simples.Utilisez la méthode du module
uuidpour une validation approfondie des valeurs UUID réelles.
Les deux méthodes sont utiles selon que vous avez besoin d'une vérification rapide du format ou d'une validation complète détectant les cas limites hors pattern.
Pourquoi convertir les entrées en chaînes avant la validation ?
Avant de soumettre votre UUID au validateur, il est recommandé de convertir votre entrée en chaîne. Cela évite les erreurs lorsqu'une valeur passée n'est pas déjà sous forme de chaîne, comme un entier, un objet UUID ou un type inattendu.
En encapsulant votre entrée dans str(value) avant la vérification, vous garantissez que le validateur reçoit toujours une chaîne. Cette habitude simple vous épargne des bugs confus, surtout lorsque votre code peut rencontrer différents types de données (par exemple, lors du traitement de JSON, d'entrées utilisateur ou de données provenant d'API externes).
Gestion des types d'entrée mixtes pour la validation UUID
Il arrive que la valeur à vérifier ne soit pas une chaîne : ce peut être un entier, un objet ou un autre type inattendu. Pour gérer cela, convertissez d'abord l'entrée en chaîne avant d'exécuter votre validation regex UUID. De cette façon, la fonction ne générera pas d'erreur si elle reçoit un entier ou un autre type.
Avec cette modification, vous pouvez passer des entiers, des chaînes ou d'autres types, et tant que leur représentation en chaîne correspond au format UUID, la validation réussit. Cette approche rend votre validation robuste face à toutes sortes d'entrées.
Correspondance des UUID sans tirets
Si vous devez correspondre à des UUID dont les tirets ont été supprimés (parfois rencontrés dans des clés de base de données compactes ou des systèmes anciens), adaptez simplement le pattern regex. Au lieu d'inclure des tirets comme séparateurs, recherchez une chaîne continue de 32 caractères hexadécimaux.
Voici comment modifier le pattern :
^[0-9a-fA-F]{32}$Ce pattern correspond aux UUID écrits comme une chaîne hexadécimale continue de 32 caractères (par ex. 123e4567e89b12d3a456426614174000). Utile pour les formats non standard ou le nettoyage des entrées utilisateur.
Gestion des entrées UUID non-chaînes
Le constructeur uuid.UUID en Python est assez flexible et peut accepter plus que des entrées sous forme de chaîne. Pour assurer une validation fluide, convertissez explicitement votre entrée en chaîne avant de la passer à uuid.UUID. Cela évite les erreurs inattendues lors du traitement de nombres ou de types d'entrée mixtes.
En convertissant d'abord les entrées en chaînes, vous rendez votre validation UUID plus robuste, surtout quand l'origine ou le type des données peut varier.
Cas d'utilisation
Identification de ressources API : utilisez des UUID dans les endpoints REST ou les payloads JSON pour référencer des enregistrements de manière unique.
Indexation de base de données : utilisez des UUID comme clés primaires pour éviter les collisions dans des tables distribuées.
Gestion de sessions : validez les tokens basés sur UUID pour les sessions utilisateur dans des applications sécurisées.
Soumissions de formulaires : vérifiez si les champs cachés dans les formulaires transmettent des UUID valides.
Combinez avec le Validateur Password Regex Python pour sécuriser les données de connexion utilisateur.
Conseils pratiques
Les UUID peuvent être en minuscules ou majuscules, et ce pattern correspond aux deux.
Utilisez le module
uuidde Python pour générer et comparer des UUID, et validez le format avec ce regex.Vous pouvez également valider si une chaîne est un UUID réel (pas seulement au bon format, mais constructible en tant qu'objet UUID) en tentant de créer une instance dans un bloc try/except.
Ce regex vérifie uniquement le format, pas l'aléatoire ou la logique de version de l'UUID.
Normalisez les UUID en minuscules avec
.lower()avant stockage pour une cohérence optimale.Combinez avec le Validateur Email Regex Python ou le Validateur Phone Number Regex Python pour une validation de formulaire complète dans vos applications Python.
Frequently Asked Questions
Quelles versions UUID ce regex prend-il en charge ?
Puis-je utiliser ce regex pour valider des UUID en majuscules ?
Ce format est-il adapté aux clés de base de données ?
Que se passe-t-il si un UUID n'a pas de tirets ?
Ce regex peut-il détecter des numéros de version UUID invalides ?
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.



