Java 如何验证ip是否在白名单中
我有一个IP白名单,它是一个字符串数组,像{“192.168.1.1”,“172.8.9.9”,“198.2.3”,“89.90.9.9-78”},从这个数组中我们知道它包含带通配符的IP,以及89.90.9.9到89.90.9.78之间的IP,用“89.90.9.9-78”表示 问题是我如何判断一个ip在这个数组中,我可以使用正则表达式吗 我正在使用java 代码片段 我这样写代码`Java 如何验证ip是否在白名单中,java,ip,wildcard,Java,Ip,Wildcard,我有一个IP白名单,它是一个字符串数组,像{“192.168.1.1”,“172.8.9.9”,“198.2.3”,“89.90.9.9-78”},从这个数组中我们知道它包含带通配符的IP,以及89.90.9.9到89.90.9.78之间的IP,用“89.90.9.9-78”表示 问题是我如何判断一个ip在这个数组中,我可以使用正则表达式吗 我正在使用java 代码片段 我这样写代码` String[] ipWhiteList = {"192.168.1.1" ,"172.8.9.9", "19
String[] ipWhiteList = {"192.168.1.1" ,"172.8.9.9", "198.2.3.", "89.90.9.9-78"};
List<String> ipWithoutWildcard = new ArrayList<String>();
List<String> ipWithWildcard = new ArrayList<String>();
private void analyzeIPWhiteList(String[] ipWhiteList){
for (String ip : ipWhiteList) {if(ip.endsWith("*")){
ipWithWildcard.add(ip.substring(0,ip.lastIndexOf(".")));
break;
}
if(ip.contains("-")){
String partionOfIP = ip.substring(0,ip.lastIndexOf("-"));
int ipBegin = Integer.parseInt(ip.substring(ip.lastIndexOf(".")+1,ip.lastIndexOf("-")));
int ipEnd = Integer.parseInt(ip.substring(ip.lastIndexOf("-")+1));
for (int index=ipBegin; index<=ipEnd; index++) {
ipWithoutWildcard.add(partionOfIP+"."+ index);
}
break;
}
ipWithoutWildcard.add(ip);
}
}
private boolean isExist(String ip,List<String> ipWithoutWildcard,List<String> ipWithWildcard){
//compare the ip in ipWithoutWildcard and ipWithWildcard
return false;
}
String[]ipWhiteList={“192.168.1.1”、“172.8.9.9”、“198.2.3”、“89.90.9.9-78”};
List ipwithoutsildcard=new ArrayList();
List ipWithWildcard=new ArrayList();
私有void analyzeIPWhiteList(字符串[]ipWhiteList){
for(stringip:ipWhiteList){if(ip.endsWith(“*”)){
ipWithWildcard.add(ip.substring(0,ip.lastIndexOf(“.”));
打破
}
如果(ip.包含(“-”)){
字符串partionOfIP=ip.substring(0,ip.lastIndexOf(“-”);
int ipBegin=Integer.parseInt(ip.substring(ip.lastIndexOf(“.”+1,ip.lastIndexOf(“-”));
int-ipEnd=Integer.parseInt(ip.substring(ip.lastIndexOf(“-”)+1));
对于(int index=ipBegin;indexies,你可以使用regex。更好的问题:你试过什么?@Maroun Maroun,我如何使用regex实现这个,我会为此写一个很长的列表,比如192.168.1.1 | 172.8.9.9 | 198.2.3.\d…@antoh我已经写了代码片段,想在这个白名单中比较ip和ip,但你知道它没有多功能性。)告诉我们,你到底是在哪里被绊倒的。