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

Validador Regex de Endereço MAC em Python

Use o Validador Regex de Endereço MAC em Python para testar e validar formatos de endereço MAC com o módulo re do Python. Esta ferramenta é essencial para desenvolvedores que trabalham com configuração de rede, autenticação de dispositivos ou sistemas IoT. Combine com o Validador Regex de Endereço IP em Python para validação em duas camadas em aplicações com foco em rede, ou integre com o Validador Regex de UUID em Python ao lidar com identificadores de dispositivos entre sistemas.

Validador Regex de Endereço MAC em Python - Documentação

O que é um Regex de Endereço MAC?

Um endereço MAC (Media Access Control) é um identificador único atribuído à interface de rede de um dispositivo. Ele normalmente tem a aparência de 01:23:45:67:89:AB ou 01-23-45-67-89-AB, composto por seis pares de dígitos hexadecimais. Esse endereço é atribuído a controladores de interface de rede, como adaptadores WiFi, placas Ethernet e hardware similar, funcionando como uma impressão digital que distingue cada dispositivo em uma rede local.

Para validar endereços MAC com regex, usamos um padrão que garante o agrupamento correto, o delimitador e o formato dos caracteres.

Padrão Regex para Endereço MAC (Python)

 ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

Este padrão valida:

  • 6 pares hexadecimais separados por dois-pontos (:) ou hífens (-)

  • Letras maiúsculas e minúsculas (A-F, a-f)

  • Formato estrito sem caracteres extras

Como Validar Endereço MAC em Python

Veja como usar o módulo re do Python para validar endereços MAC:

import re

def is_valid_mac(mac): pattern = re.compile(r'^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$') return bool(pattern.match(mac))

Example usage

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)}")

Extraindo um Endereço MAC de uma String

Para extrair um endereço MAC de um trecho maior de texto, você pode usar o módulo re do Python com uma expressão regular adequada:

import re

def extract_mac_address(s): pattern = r'(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}' return re.findall(pattern, s)

Example usage

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']

Essa abordagem varre o texto e retorna todos os endereços MAC encontrados, sendo útil para extrair essas informações de logs ou mensagens não estruturadas.

Exemplos

Válidos

  • AA:BB:CC:DD:EE:FF

  • aa-bb-cc-dd-ee-ff

Inválidos

  • AA:BB:CC:DD:EE

  • AABB.CCDD.EEFF

  • GG:HH:II:JJ:KK:LL

Casos de Uso

  • IoT e Sistemas Embarcados: Valide endereços MAC durante o provisionamento de dispositivos.

  • Segurança de Rede: Filtre e inclua na lista de permissões formatos MAC específicos em firewalls.

  • Validação de Formulários: Garanta entrada de MAC válida em ferramentas administrativas ou APIs baseadas em Python.

  • Processamento em Lote: Use junto com o Python Regex Tester para limpar grandes conjuntos de dados com registros de dispositivos.

Dicas Avançadas

  • Delimitadores Flexíveis: Se a entrada puder conter tanto : quanto -, mantenha o padrão atual. Para um formato específico, remova a alternativa.

  • Insensibilidade a Maiúsculas/Minúsculas: Este padrão funciona para letras maiúsculas e minúsculas. Não é necessário usar .lower().

  • Verificação Adicional: Combine com o Validador Regex de Endereço IP em Python para verificar completamente as entradas de dispositivos de rede.

  • Evite Erros de Digitação: Adicione uma etapa de pré-validação para remover espaços extras usando .strip() no Python antes de aplicar o regex.

Frequently Asked Questions

Este regex suporta endereços MAC no formato separado por ponto, como AAAA.BBBB.CCCC da Cisco?

Não, ele valida apenas MACs separados por dois-pontos ou hífen. Formatos com ponto exigem um padrão diferente.

Posso validar letras minúsculas e maiúsculas?

Sim, o regex trata tanto a-f quanto A-F.

E se o endereço MAC estiver sem separador?

O padrão exige separadores entre cada par de bytes. Separadores ausentes ou incorretos invalidarão a string.

Este regex é suficiente para autenticação segura de rede?

O regex verifica apenas o formato. Use-o junto com lógica de autenticação e criptografia para segurança completa.

Posso integrar isso em APIs Python ou ferramentas de linha de comando?

Com certeza. É leve, fácil de usar com o módulo re do Python e ideal para validação rápida no lado do cliente.

Teste suas APIs hoje!

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