
Validateur regex Python pour adresses MAC
Utilisez le Validateur regex Python pour adresses MAC pour tester et valider des formats d'adresses MAC avec le module re de Python. Cet outil est indispensable pour les développeurs travaillant sur la configuration réseau, l'authentification d'appareils ou les systèmes IoT. Combinez-le avec le Validateur regex Python pour adresses IP pour une validation à double couche dans les applications réseau intensives, ou intégrez-le avec le Validateur regex Python pour UUID lors de la gestion d'identifiants d'appareils entre systèmes.
Validateur regex Python pour adresses MAC - Documentation
Qu'est-ce qu'un regex pour adresses MAC ?
Une adresse MAC (Media Access Control) est un identifiant unique attribué à l'interface réseau d'un appareil. Elle ressemble généralement à 01:23:45:67:89:AB ou 01-23-45-67-89-AB, composée de six paires de chiffres hexadécimaux. Cette adresse est assignée aux contrôleurs d'interface réseau (adaptateurs WiFi, cartes Ethernet, etc.) et sert d'empreinte digitale pour distinguer chaque appareil sur un réseau local.
Pour valider des adresses MAC avec regex, on utilise un pattern qui vérifie le regroupement correct, le délimiteur et le format des caractères.
Pattern regex pour adresses MAC (Python)
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$Ce pattern valide :
6 paires hexadécimales séparées par des deux-points (:) ou des tirets (-)
Les lettres en majuscules et en minuscules (A-F, a-f)
Un format strict sans caractères supplémentaires
Comment valider une adresse MAC en Python
Voici comment utiliser le module re en Python pour valider des adresses MAC :
import redef is_valid_mac(mac): pattern = re.compile(r'^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$') return bool(pattern.match(mac))
Exemple d'utilisation
macs = ["01:23:45:67:89:AB", "01-23-45-67-89-AB", "0123.4567.89AB"] for mac in macs: print(f"{mac} => {is_valid_mac(mac)}")
Extraire une adresse MAC depuis une chaîne de caractères
Pour extraire une adresse MAC d'un bloc de texte plus large, utilisez le module re de Python avec une expression régulière adaptée :
import redef extract_mac_address(s): pattern = r'(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}' return re.findall(pattern, s)
Exemple d'utilisation
log_entry = "Unknown error in node 00:00:5e:00:53:af. Terminating." found_macs = extract_mac_address(log_entry) print(found_macs) # Output: ['00:00:5e:00:53:af']
Cette approche parcourt le texte et retourne toutes les adresses MAC trouvées, ce qui la rend utile pour extraire ces informations depuis des journaux ou des messages non structurés.
Exemples
Valides
AA:BB:CC:DD:EE:FF
aa-bb-cc-dd-ee-ff
Invalides
AA:BB:CC:DD:EE
AABB.CCDD.EEFF
GG:HH:II:JJ:KK:LL
Cas d'utilisation
IoT et systèmes embarqués : Validez les adresses MAC lors du provisionnement des appareils.
Sécurité réseau : Filtrez et autorisez des formats MAC spécifiques dans les pare-feux.
Validation de formulaires : Vérifiez la saisie MAC valide dans les outils d'administration Python ou les API.
Traitement de fichiers en masse : Utilisez conjointement le Testeur regex Python pour nettoyer de grands ensembles de données contenant des enregistrements d'appareils.
Conseils avancés
Délimiteurs flexibles : Si votre entrée peut contenir à la fois
:et-, conservez le pattern actuel. Pour un seul format spécifique, supprimez l'alternative.Insensibilité à la casse : Ce pattern fonctionne pour les majuscules et les minuscules. Inutile d'utiliser
.lower().Vérification complémentaire : Associez-le au Validateur regex Python pour adresses IP pour valider complètement les entrées d'appareils réseau.
Évitez les fautes de frappe : Ajoutez une étape de pré-validation avec
.strip()en Python pour supprimer les espaces superflus avant d'appliquer le regex.
Frequently Asked Questions
Ce regex prend-il en charge les adresses MAC au format avec points, comme le format Cisco AAAA.BBBB.CCCC ?
Puis-je valider à la fois des lettres minuscules et majuscules ?
Que se passe-t-il si le séparateur de l'adresse MAC est manquant ?
Ce regex est-il suffisant pour une authentification réseau sécurisée ?
Puis-je l'intégrer dans des API Python ou des outils en ligne de commande ?
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.



