由于项目需要通过淘宝IP库查询IP归属,于是为了节省请求量,就需要提前对IP进行内网/外网识别;
下面是网络上查找到的第一种方法,正则匹配
1 2 3 4 5 6 7 | public boolean isInner(String ip) { String reg = "(10|172|192)\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})";//正则表达式 Pattern p = Pattern.compile(reg); Matcher matcher = p.matcher(ip); return matcher.find(); } |
不过话说,基本功能是能使用了,但个人觉得还不够完善,先记录下来吧。