Для числа від 0 до 255 я використовую цей регулярний вираз:
(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))
Вище регулярного виразу буде відповідати цілому числу від 0 до 255, але не відповідатиме 256.
Отже, для IPv4 я використовую цей регулярний вираз:
^(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})$
Саме в цій структурі: ^(N)((\.(N)){3})$
де N - регулярний вираз, який використовується для відповідності числа від 0 до 255.
Цей регулярний вираз буде відповідати IP, як показано нижче:
0.0.0.0
192.168.1.2
але не нижче:
10.1.0.256
1.2.3.
127.0.1-2.3
Для IPv4 CIDR (безкласова міждоменна маршрутизація) я використовую цей регулярний вираз:
^(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})\/(([0-9])|([12][0-9])|(3[0-2]))$
Саме в цій структурі: ^(N)((\.(N)){3})\/M$
де N - регулярний вираз, який використовується для збігу цифр від 0 до 255, а M - регулярний вираз, який використовується для збігу номерів від 0 до 32.
Цей регулярний вираз буде відповідати CIDR, як показано нижче:
0.0.0.0/0
192.168.1.2/32
але не нижче:
10.1.0.256/16
1.2.3./24
127.0.0.1/33
І для списку IPV4 CIDR, як "10.0.0.0/16", "192.168.1.1/32"
я використовую цей регулярний вираз:
^("(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})\/(([0-9])|([12][0-9])|(3[0-2]))")((,([ ]*)("(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))((\.(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))){3})\/(([0-9])|([12][0-9])|(3[0-2]))"))*)$
Саме в цій структурі: ^(“C”)((,([ ]*)(“C”))*)$
де С - регулярний вираз, який використовується для відповідності CIDR (наприклад, 0.0.0.0/0).
Цей регулярний вираз буде відповідати списку CIDR, як показано нижче:
“10.0.0.0/16”,”192.168.1.2/32”, “1.2.3.4/32”
але не нижче:
“10.0.0.0/16” 192.168.1.2/32 “1.2.3.4/32”
Можливо, це може скоротитися, але для мене це легко зрозуміти так добре від мене.
Сподіваюся, це допоможе!
ping 2130706433
іping 127.1
для хихикання.