Untuk nomor dari 0 hingga 255 saya menggunakan regex ini:
(([0-9])|([1-9][0-9])|(1([0-9]{2}))|(2[0-4][0-9])|(25[0-5]))
Ekspresi reguler di atas akan cocok dengan bilangan bulat dari 0 sampai 255, tetapi tidak cocok dengan 256.
Jadi untuk IPv4 saya menggunakan regex ini:
^(([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})$
Ada dalam struktur ini: di ^(N)((\.(N)){3})$
mana N adalah regex yang digunakan untuk mencocokkan angka dari 0 hingga 255.
Regex ini akan cocok dengan IP seperti di bawah ini:
0.0.0.0
192.168.1.2
tapi tidak di bawah ini:
10.1.0.256
1.2.3.
127.0.1-2.3
Untuk IPv4 CIDR (Classless Inter-Domain Routing) saya menggunakan regex ini:
^(([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]))$
Ada dalam struktur ini: di ^(N)((\.(N)){3})\/M$
mana N adalah regex yang digunakan untuk mencocokkan angka dari 0 hingga 255, dan M adalah regex yang digunakan untuk mencocokkan angka dari 0 hingga 32.
Regex ini akan cocok dengan CIDR seperti di bawah ini:
0.0.0.0/0
192.168.1.2/32
tapi tidak di bawah ini:
10.1.0.256/16
1.2.3./24
127.0.0.1/33
Dan untuk daftar IPv4 CIDR seperti "10.0.0.0/16", "192.168.1.1/32"
saya menggunakan regex ini:
^("(([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]))"))*)$
Dalam struktur ini: di ^(“C”)((,([ ]*)(“C”))*)$
mana C adalah regex yang digunakan untuk mencocokkan CIDR (seperti 0.0.0.0/0).
Regex ini akan cocok dengan daftar CIDR seperti di bawah ini:
“10.0.0.0/16”,”192.168.1.2/32”, “1.2.3.4/32”
tapi tidak di bawah ini:
“10.0.0.0/16” 192.168.1.2/32 “1.2.3.4/32”
Mungkin itu mungkin lebih pendek tetapi bagi saya itu mudah dimengerti, jadi baik oleh saya.
Semoga membantu!
ping 2130706433
danping 127.1
cekikikan.