【Java】判断IP是否内网(使用正则表达式)

判断IP是否内网,看了网上很多是用截断字符床,转数字判断,这些都是坑,慢慢慢,一切从速度优化看,用正则......

不多说,代码如下


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public static boolean innerIP(String ip) {

Pattern reg = Pattern.compile("^(127\.0\.0\.1)|(localhost)|(10\.\d{1,3}\.\d{1,3}\.\d{1,3})|(172\.((1[6-9])|(2\d)|(3[01]))\.\d{1,3}\.\d{1,3})|(192\.168\.\d{1,3}\.\d{1,3})$");
Matcher match = reg.matcher(ip);

return match.find();

---------------------

原文地址:https://www.cnblogs.com/hyhy904/p/11167519.html