Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Pattern para Validar um IP

Pesquisando no Google, eu encontrei um Regex para determinar se um IP é válido. Eu encontrei um Regex que realmente funciona. Mas eu não consigo entende-lo por completo. Poderia me ajudar a interpreta-lo? Segue o Regex: \b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b.

O Regex deve validar um IP com base nesta definição: "IP address is a string in the form "A.B.C.D", where the value of A, B, C, and D may range from 0 to 255. Leading zeros are allowed. The length of A, B, C, or D can't be greater than 3"

2 respostas
solução!

Olá Alexandre, vamos lá vou tentar ser o mais simplista.

Basicamente existem dois conjuntos ()(){4} O primeiro conjunto está validando se o usuário digitou o um conjunto de 3 caracteres válidos:

25? Onde ? Pode ser de 0-5

Ou

2?# onde ? Pode ser de 0-4 e # de 0-9

Ou

??#@ Onde ? Pode ser 0 ou 1 e # de 0-9 e @ de 0-9

Este primeiro conjunto : (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) quer dizer que os números podem ser apenas :

255, 254, 253, 252, 251, 250

Ou

249, 248, 247, 246...200

Ou

199, 198, 197, 197, 196...0

Já o segundo conjunto (.){4} válida se este o primeiro conjunto se repete 4 vezes separados por ponto.

Validando:

192.168.0.1

0.0.0.0

127.0.0.1

...

Ok Entendido! Muito Obrigado!