• java正则解析ip


    public class test {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String ipsearch="11.168.1.101-103/126/129/200-204";
    ipAnalys(ipsearch);

    }

    private static List<String> ipAnalys(String ipsearch) {
    String[] ips=ipsearch.split("/");
    String pattern = "((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)";

    List<String> realIps=new ArrayList<String>();
    String ipFrist="";
    for (int i = 0; i < ips.length; i++) {
    StringBuffer realip=new StringBuffer();
    String ip=ips[i];
    if(Pattern.matches(pattern, ip)){
    realIps.add(ips[i]);
    ipFrist=ips[i].substring(0,ip.lastIndexOf("."));
    }else{
    if(ips[i].indexOf("-")<0){
    realip.append(ipFrist).append(".").append(ips[i]);
    realIps.add(realip.toString());
    }else{
    String[] iprange=ips[i].split("-");
    int start,end;
    if(StringUtils.isEmpty(ipFrist)){
    //说明直接是ip范围
    ipFrist=ips[i].substring(0,ip.lastIndexOf("."));
    start=Integer.parseInt(iprange[0].substring(ipFrist.length()+1));
    end =Integer.parseInt(iprange[1]);
    }else{
    start=Integer.parseInt(iprange[0]);
    end =Integer.parseInt(iprange[1]);

    }
    for (int j = start; j <= end; j++) {
    realip.setLength(0);
    realip.append(ipFrist).append(".").append(j);
    realIps.add(realip.toString());
    }
    }
    }
    }
    return realIps;
    }

    }

  • 相关阅读:
    如何開始深度學習?
    ckeditor 使用手册
    js 跨域的使用
    关于mysql中数据存储复合树形结构,查询时结果按树形结构输出
    关于tomcat的远程调试
    关于cookie的使用
    关于跨域
    去除除服串中的某些字符,不用String内置方法
    POI导入数据
    onbeforepaste
  • 原文地址:https://www.cnblogs.com/javahepeng/p/13278519.html
Copyright © 2020-2023  润新知