您的位置:首页 > 其它

通配符(.*)等模糊匹配搜索

2018-01-09 15:02 183 查看
引入java的俩个类:Pattern.class、Matcher.class

String likeValue = "yx.*";/* likeValue - 自定义通配符格式*/

Pattern p = Pattern.compile(likeValue );

Matcher m = null;

m = p.matcher(isLikeValue );/* isLikeValue
- 需要匹配的参数*/

if (m.matches()){

logger.info(" matcher --> " +
isLikeValue );

}

含Map、List匹配:

 public static List<String> isLikeValueByMap(Map<String, String>map,String likeValue){
       List<String> list=new Vector<>();        
       for (Map.Entry<String, String> entity : map.entrySet()) {
                           if(entity.getKey().indexOf(likeValue)>-1){
                                   list.add((String) entity.getValue());
                           }
                   }    
       return list;

}

调用此封装的方法like:List<?> list=isLikeValueByMap(map,"likeValue");/*
? - 代表任一类型、likeValue - 自定义匹配字符串格式*/

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  匹配搜索算法