JAVA 判断IP地址是否为内网/外网(一)

作者: | 2017年5月24日

由于项目需要通过淘宝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();
}

不过话说,基本功能是能使用了,但个人觉得还不够完善,先记录下来吧。