DevBento logoDevBento
Ferramentas/Testador de Regex/Regex de Endereço IP: Correspondência IPv4 e IPv6

Regex de Endereço IP: Correspondência IPv4 e IPv6

Padrões regex para corresponder e validar endereços IPv4 (192.168.1.1) e IPv6. Inclui notação CIDR, validação de octetos e detecção de redes privadas.

//gm
7 correspondências
192.168.1.1 10.0.0.255 172.16.0.1 255.255.255.0 8.8.8.8 999.999.999.999 256.1.1.1 1.2.3 0.0.0.0 127.0.0.1
Detalhes da Correspondência
Ferramentas Relacionadas
+/-Comparador de Texto Online (Diff Checker)
Compare regex pattern changes
%20Codificador de URL e Codificador de Entidades
Encode regex for URL parameters
{}Formatador e Validador de JSON
Ferramenta completa para formatar, minificar e validar dados JSON com realce de sintaxe, visualização em árvore interativa e detecção de erros instantânea.

Regex de Endereço IPv4

O padrão acima corresponde corretamente apenas a endereços IPv4 válidos. Das strings de teste, corresponde a 192.168.1.1, 10.0.0.255, 172.16.0.1, 255.255.255.0, 8.8.8.8, 0.0.0.0 e 127.0.0.1. Rejeita 999.999.999.999, 256.1.1.1 e 1.2.3 (apenas tres octetos).

Detalhamento do Padrão

Cada octeto usa uma alternancia de tres vias para aplicar a faixa de 0 a 255:

Ramo de alternancia Faixa coberta Exemplos de correspondência
25[0-5] 250 a 255 250, 255
2[0-4]\d 200 a 249 200, 214, 249
[01]?\d\d? 0 a 199 0, 99, 192

A alternancia e envolvida em um grupo não capturador (?:...) e repetida tres vezes com \. entre elas usando {3}, então o octeto final repete a mesma alternancia. Limites de palavra \b em ambas as extremidades evitam que o padrão corresponda a um endereço IP que aparece como substring de algo maior.

Por que o Padrão Ingênuo Falha

\d+\.\d+\.\d+\.\d+ é a primeira coisa que a maioria tenta. Falha em duas direções:

Corresponde a strings que não são endereços IP válidos. 999.999.999.999 corresponde porque \d+ não impoe limite ao valor numérico.

Pode produzir falsos positivos dentro de strings mais longas. Sem limites de palavra, o padrão corresponde a fragmentos parciais em strings de versão, timestamps e números decimais.

O padrão correto baseado em alternancia lida com ambos os problemas.

Notação CIDR

Para também corresponder a blocos CIDR como 192.168.1.0/24, adicione (\/([0-9]|[1-2]\d|3[0-2]))? ao final do padrão base (antes do \b final). Isso torna o comprimento do prefixo opcional e válida que ele esta entre 0 e 32.

Padrão IPv6

Um padrão para a notação completa padrão de 8 grupos:

([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}

Isso corresponde a 2001:0db8:85a3:0000:0000:8a2e:0370:7334 mas não lida com compressão ::, que é a forma abreviada que omite grupos consecutivos de zeros. Por exemplo, ::1 (loopback) e 2001:db8::1 são ambos endereços IPv6 válidos que este padrão não captura.

Uma abordagem prática para logs: use o padrão liberal ([0-9a-fA-F]{0,4}:){2,7}[0-9a-fA-F]{0,4} para extrair candidatos, depois valide cada candidato com uma função de biblioteca.

Detecção de Faixas Privadas

As tres faixas IPv4 privadas definidas pelo RFC 1918:

Faixa CIDR Prefixo regex
Classe A privada 10.0.0.0/8 ^10\.
Classe B privada 172.16.0.0/12 `^172.(1[6-9]
Classe C privada 192.168.0.0/16 ^192\.168\.

A faixa Classe B (172.16 a 172.31) exige a alternancia para o segundo octeto porque não e possível expressar “16 a 31” com uma classe de caracteres simples. Faixas especiais adicionais a considerar: loopback (127.0.0.0/8), link-local (169.254.0.0/16) e documentação (192.0.2.0/24).

Quando Pular o Regex

Para validar um único endereço IP enviado por um usuário, use uma função embutida da linguagem:

# Python
import ipaddress
try:
    ipaddress.ip_address("192.168.1.1")
    # válido
except ValueError:
    # inválido
// Node.js
const net = require('net');
net.isIPv4('192.168.1.1'); // true
net.isIPv4('999.1.1.1');   // false

Essas funções lidam com casos extremos que o regex ignora, incluindo zeros a esquerda (alguns analisadores interpretam 010 como octal 8) e endereços IPv6 mapeados por IPv4. O regex continua sendo a ferramenta certa para extrair endereços IP de arquivos de log, logs de acessó ou qualquer texto de formato livre onde você precise encontrar todas as ocorrencias em uma string maior.

Para gerar ou verificar hashes de endereços IP em contextos de seguranca, o Gerador de Hash no DevBento lida com algoritmos comuns sem sair do navegador.

🔒

Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.

© 2026 devbento.dev · construído localmenteChangelog