
Validador de IP Address Regex em Python
O Validador de IP Address Regex em Python ajuda você a garantir que qualquer string de entrada siga o formato correto de um endereço IPv4. Perfeito para uso em configurações de servidor, filtros de firewall, validações de formulários e ferramentas de networking. Você pode combiná-lo com o Validador de Regex de Endereço MAC em Python para filtragem em nível de dispositivo, ou usá-lo junto com o Validador de Regex de UUID em Python quando trabalhar com identificadores e dados de rede.
Validador de IP Address Regex em Python - Documentação
O que é um Endereço IP?
Um endereço IP é um identificador único atribuído a cada dispositivo em uma rede. Os endereços IPv4 usam quatro números (0-255) separados por pontos, como:
192.168.0.1Para validar esse formato, usamos um padrão regex que verifica:
Exatamente quatro octetos
Cada um variando de 0 a 255
Separadores de ponto (.)
É importante garantir que nenhum dos octetos exceda 255. Por exemplo, enquanto 999.168.0.1 corresponde à estrutura geral, não é um endereço IP válido porque 999 está fora do intervalo. Um padrão regex robusto leva isso em conta, garantindo que cada seção seja um número entre 0 e 255.
Padrões Regex Comuns para Endereços IPv4
Veja expressões regulares comumente usadas, cada uma servindo a um propósito ligeiramente diferente:
Validação simples (apenas estrutura):
Verifica o formato de pontos correto mas permite valores como 999.0.0.1, que não são IPs válidos.
Validação precisa (valores de 0 a 255 apenas):
25[0-5]- corresponde a 250-2552[0-4][0-9]- corresponde a 200-2491?[0-9]{1,2}- corresponde a 0-199O padrão completo garante 4 desses números separados por
.
Padrão Regex para Endereço IP em Python
Aqui está um regex que valida com precisão endereços IPv4 padrão:
^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$Explicação:
25[0-5] - corresponde a 250-255
2[0-4][0-9] - corresponde a 200-249
1?[0-9]{1,2} - corresponde a 0-199
O padrão completo garante 4 desses números separados por ponto
Compatibilidade de Sabores Regex
Boa notícia: esse padrão funciona em todas as principais implementações de regex. Seja usando o módulo re do Python, trabalhando em JavaScript, Java, .NET, Perl, PCRE ou Ruby, a sintaxe é universal o suficiente para validar endereços IPv4 sem ajustes.
Extraindo Endereços IPv4 de Textos Maiores
Se você precisar extrair endereços IPv4 válidos de um corpo de texto maior, como arquivos de log, mensagens de usuários ou dumps de configuração, um padrão regex bem elaborado pode fazer o trabalho de forma eficiente.
Para extrair endereços IPv4 de texto, use um padrão que:
Identifique quatro octetos separados por pontos
Garanta que cada octeto esteja no intervalo 0-255
Suportado em: Python, JavaScript, Java, PCRE, Ruby, Perl e .NET.
Exemplo de Código Python
import redef is_valid_ip(ip): pattern = re.compile( r'^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2}).){3}' r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$' ) return bool(pattern.fullmatch(ip))
Entradas de teste
ips = [ "192.168.0.1", "255.255.255.255", "999.100.100.100", # Inválido "172.16.254.01" ]
for ip in ips: print(f"{ip} -> {is_valid_ip(ip)}")
Diferença entre re.match() e re.search()
re.match(): Verifica se o regex corresponde no início da string de destino.
python import re result = re.match(r'\d+', '123abc') print(bool(result)) # Saída: True
result = re.match(r'\d+', 'abc123') print(bool(result)) # Saída: Falsere.search(): Percorre a string inteira para encontrar uma correspondência em qualquer lugar.
python result = re.search(r'\d+', 'abc123') print(bool(result)) # Saída: TrueUse re.match() quando só se importar com correspondências no início da string. Use re.search() para encontrar um padrão em qualquer parte da string.
Fazendo uma Requisição de API para Validação de IP em Python
import requests
def validateipwithapi(ipaddress, api_key):
url = f"https://api.example.com/validate?ip={ipaddress}&key={apikey}"
try:
response = requests.get(url, timeout=5)
response.raiseforstatus()
result = response.json()
return result.get('valid', False)
except requests.exceptions.RequestException as error:
print(f"Erro na requisição de API: {error}")
return FalseCasos de Uso
Validação de Formulários: Valide IPs inseridos por usuários em aplicações web
Regras de Firewall: Corresponda e filtre IPs de rede
Configuração de Dispositivos: Valide entradas em dashboards locais ou na nuvem
Combine com: Validador de Regex de Endereço MAC em Python ou Validador de Regex de Data em Python para sincronizar IPs com timestamps
Dicas Pro
🔄 Sempre remova espaços em branco antes da validação (ip.strip())
🔒 Evite confiar apenas em validações do lado do cliente; valide também no servidor
🔀 Combine com verificações de padrão de sub-rede para intervalos CIDR
🧠 Use em scripts com o Validador de Regex de GUID em Python para rastrear dispositivos em redes
Frequently Asked Questions
Este regex valida IPv6?
Ele consegue validar IPs em notação CIDR como 192.168.1.0/24?
Zeros à esquerda em octetos são válidos?
Posso usar isso no Flask ou Django?
O que acontece se a entrada tiver pontos extras ou caracteres inválidos?
Related Articles



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



