正規表示式 內網IP 過濾

2021-08-30 02:39:22 字數 1556 閱讀 4121

我們在平時的生活中,可能會有 內網 ip 過濾的需求。

一般需要過濾以下幾個網段跟 ip

10.0.0.0~10.255.255.255(a類)

172.16.0.0~172.31.255.255(b類)

192.168.0.0~192.168.255.255(c類)

小技巧:如果你在網路出口上使用nat技術,使用任何網段都是可以的,比如說1.1.1.1。

此外 0.0.0.0   非法ip

127.0.0.1 本地ip 

10.0.0.0~10.255.255.255(a類)

a類網段的正規表示式 :

^10\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])$

172.16.0.0~172.31.255.255(b類)

b類網段的正規表示式

^172\.(1[6789]|2[0-9]|3[01])\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])$

192.168.0.0~192.168.255.255(c類)

c類網段的正規表示式

^192\.168\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.(1\d|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])$

測試用例:

@test

public void testregexinnerip() |2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])\\.(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])\\.(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])$");

//b類位址範圍: 172.16.0.0---172.31.255.255

ipfilter.add("^172\\.(1[6789]|2[0-9]|3[01])\\.(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])\\.(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])$");

//c類位址範圍: 192.168.0.0---192.168.255.255

ipfilter.add("^192\\.168\\.(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])\\.(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[0-9])$");

ipfilter.add("127.0.0.1");

ipfilter.add("0.0.0.0");

listipfilterregexlist = new arraylist<>();

for (string tmp : ipfilter)

for (string testip : testiplist)

} if (valid)

}}

過濾IP位址的正規表示式

正規表示式 2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?紅色塊代表 第乙個字元是2,第二個字元是0到4,第三個字元是任意一位數字。表示200 249。綠色塊代表 第乙個...

過濾IP位址的正規表示式

正規表示式 2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?紅色塊代表 第乙個字元是2,第二個字元是0到4,第三個字元是任意一位數字。表示200 249。綠色塊代表 第乙個...

過濾IP位址的正規表示式

正規表示式 2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?紅色塊代表 第乙個字元是2,第二個字元是0到4,第三個字元是任意一位數字。表示200 249。綠色塊代表 第乙個...