Expressão regular:
((2 [0-4]/D | 25 [0-5] | [01]?/D/D?)/.) {3} (2 [0-4]/D | 25 [0-5] | [01]?/D/D?)
((2 [0-4]/D | 25 [0-5] | [01]?/D/D?)/.) {3} (2 [0-4]/D | 25 [0-5] | [01]?/D/D?)
O bloco vermelho representa: o primeiro caractere é 2, o segundo caractere é de 0 a 4 e o terceiro caractere é qualquer número de um dígito. Indica 200 ~ 249.
O bloco verde representa: o primeiro caractere é 2, o segundo caractere é 5 e o terceiro caractere é de 0 a 5. Indica 250 ~ 255.
O bloco azul representa: o primeiro caractere é 0, ou 1, ou pode não haver esse personagem, o segundo caractere é um número e o terceiro caractere é um número, e pode não haver esse caractere. Indica 1 ~ 199, pode haver zeros líderes.
"|" significa "ou", desde que o significado de qualquer um dos três blocos seja satisfeito.
O "(" e ")" antes e depois significa que este é um conjunto
((2 [0-4]/D | 25 [0-5] | [01]?/D/D?)/.) {3} (2 [0-4]/D | 25 [0-5] | [01]?/D/D?)
{3} significa repetir três vezes. Por exemplo, "255.255.255".
((2 [0-4]/D | 25 [0-5] | [01]?/D/D?)/.) {3} (2 [0-4]/D | 25 [0-5] | [01]?/D/D?)
O último grupo tem o mesmo significado que acima, que é adicionar a mesma detecção após "".