利用正则表达式获取IP地址
思路:
1.先看规则 ,也就是说什么样的算IP地址,比如192.168.1.1 数字+. *3+数字;
2.看数字取值的范围 1-255.0-255.0-255.1-255
3.写出匹配范围的正则表达式
250-255 25[0-5] ;
200-249 2[0-4][0-9] ;
100-199 1[0-9][0-9] ;
1-99 这里注意 01 02 是 不符合IP规则的 因为没有01.01这种 所以应该分开写 [1-9]|[1-9][0-9]
4.整合
1-255. (25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\.
0-255. (25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\. *2
5.结果
((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\.)((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){2}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])
有这样一个测试文件 bb
99.99.999.9
abc1.1.1.1
1.1..1
kkk1.1.1.1!
192.168.1.5
999.999.999.9
1.1.1.1
192.1.1.1
192.168.1.6.adf
254.255.255.254
255.255.255.255
256.255.255.254
10. 5 . 8 . 98
fsdfsd45.86.fdsf.48
?.1.1.1
1.1.1.1.1
2.1.1.1.1
18.0.0.1
执行结果

让人纠结的是 2.1.1.1.1 如果排除出去 必然会造成其他 符合规则的一样被排除 比如 ip地址前面是数字的 256.1.1.1 实际是56.1.1.1 这样的IP地址 舍谁留谁..看个人喜好了...
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5296.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
