Java字符串通配符验证算法_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java字符串通配符验证算法

Java字符串通配符验证算法

 2019/10/17 18:28:37  fsh430623  程序员俱乐部  我要评论(0)
  • 摘要:因程序中要用到通配符匹配方法,网上找了一些,不如人意,就自己动手写了一个方法。以param="/*test/find*haha*kk",realData="/88test/find8888haha8888kk"做验证,没有问题,其它更简单的方式也验证通过,如果读者发现有问题,欢迎指正。强调一下:这里不是正则表达式匹配,是通配符匹配。publicBooleanjudge(finalStringparam,finalStringrealData){if(!Pattern.matches(param
  • 标签:Java 字符串 通配符 算法
因程序中要用到通配符匹配方法 ,网上找了一些,不如人意,就自己动手写了一个方法。
以param="/*test/find*haha*kk",  realData="/88test/find8888haha8888kk"做验证,没有问题,其它更简单的方式也验证通过,如果读者发现有问题,欢迎指正。

强调一下:这里不是正则表达式匹配,是通配符匹配。


public Boolean judge(final String param, final String realData) {
        if(! Pattern.matches(param, realData)){
            if(param.contains("*")) {
                String noParam=param.replaceAll("\\*","");
                if (realData.contains(noParam)){
                    return true;
                }else{
                    if(noParam.length()>realData.length())
                        return false;
                    String[] myparam=param.split("\\*");
                     int curIndex=0;
                    int prePostion=0;
                    int num=0;
                    for(String duan:myparam){
                        num++;
                        curIndex=realData.indexOf(duan);
                        if(curIndex==-1)return false;
                        if(curIndex>=prePostion){
                            prePostion=curIndex+duan.length();
                            if(num==myparam.length)return true;
                        }else{
                            return false;
                        }
                    }
                }
            }
            return false;
        }
        return true;
    }
上一篇: Java、Android数据结构小节 下一篇: 没有下一篇了!
发表评论
用户名: 匿名