java正则匹配IP号码段
public static boolean IPMatch(List ips, String ip) {
if (ips.contains(ip)) {
return true;
}
for (int i = 0; i < ips.size(); i++) {
List lip = Arrays.asList(ips.get(i).toString().split("\\."));
String re = "^";
for (int j = 0; j < lip.size(); j++) {
String num = lip.get(j).toString();
if (num != "*") {
re += num + ".";
} else {
re += "\\d{0,3}.";
}
if (j == lip.size()) {
re = re.substring(0, re.length() - 1).toString() + "\\$";
}
}
Pattern pattern = Pattern.compile(re);
Matcher matcher = pattern.matcher(ip);
if (matcher.matches()) {
return true;
}
}
return false;
}
本文介绍了一种使用Java实现的IP地址与预定义IP号码段的匹配方法。该方法通过正则表达式来判断给定的IP地址是否符合指定的号码段范围。对于号码段中的通配符'*',采用特殊匹配规则,支持0到255之间的任意数字。
1347

被折叠的 条评论
为什么被折叠?



