首页 > 其他分享 >模糊匹配url

模糊匹配url

时间:2023-06-05 11:57:19浏览次数:31  
标签:return patt url 模糊 str 匹配 false null

    /**
     * 字符串模糊匹配
     * <p>example:
     * <p> user* user-add   --  true
     * <p> user* art-add    --  false
     * @param patt 表达式
     * @param str 待匹配的字符串
     * @return 是否可以匹配
     */
    public static boolean vagueMatch(String patt, String str) {
        // 两者均为 null 时,直接返回 true
        if(patt == null && str == null) {
            return true;
        }
        // 两者其一为 null 时,直接返回 false
        if(patt == null || str == null) {
            return false;
        }
        // 如果表达式不带有*号,则只需简单equals即可 (这样可以使速度提升200倍左右)
        if( ! patt.contains("*")) {
            return patt.equals(str);
        }
        // 正则匹配
        return Pattern.matches(patt.replaceAll("\\*", ".*"), str);
    }

判断:集合中是否包含指定元素(模糊匹配)
/**
     * 判断:集合中是否包含指定元素(模糊匹配) 
     * <p> 参数 [集合, 元素] 
     */
    public BiFunction<List<String>, String, Boolean> hasElement = (list, element) -> {

        // 空集合直接返回false
        if(list == null || list.size() == 0) {
            return false;
        }

        // 先尝试一下简单匹配,如果可以匹配成功则无需继续模糊匹配 
        if (list.contains(element)) {
            return true;
        }
        
        // 开始模糊匹配 
        for (String patt : list) {
            if(SaFoxUtil.vagueMatch(patt, element)) {
                return true;
            }
        }
        
        // 走出for循环说明没有一个元素可以匹配成功 
        return false;
    };

 

标签:return,patt,url,模糊,str,匹配,false,null
From: https://www.cnblogs.com/upupup-999/p/17457423.html

相关文章

  • Java URL正则表达式
    评:网上转贴的Java正则很让人失望,一篇JavaScript正则集录被很多人当成Java正则表达式转来转去,我擦,太坑爹了吧。自己写一个吧importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassRegularExpressionTest{publicstaticvoidmain(S......
  • Flask中url_for的使用传参,及多个参数
    flask.url_for(endpoint,**values)参数:endpoint-URL的端点(函数名称)values-URL规则的变量参数_external-如果设置为True,则生成绝对URL。服务器地址可以通过SERVER_NAME配置变量更改,默认为localhost。_scheme-指定所需URL方案的字符串。该_external参数必须设......
  • Flex 4.6 XML搜索、匹配示例,完整代码
    效果见图初始化界面输入“设置”,进行搜索、匹配后界面下面是代码<?xmlversion="1.0"encoding="utf-8"?><s:Applicationxmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="l......
  • linux 中awk命令实现输出匹配字符的上下若干行
     001、[root@PC1test3]#lstest.txt[root@PC1test3]#cattest.txt##测试数据jjjjkkkgenejjjddddyyyiiiipppffff999genettteeeemmmaaaannn[root@PC1test3]#awk'BEGIN{idx=0}{ay1[NR]=$0;if($1=="......
  • 一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询
    一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询前言写的啰嗦了点,看效果请直接忽略中间,直接看后半部分。引个流,公众号:小简聊开发概念瞎编的名字,哈哈哈,我就勉强称之为聚合查询吧,不知道概念符不符合。大家好,我是小简,很久没写文章了,确实是太忙了,今天我......
  • opencv之图像匹配
    输入一张原图和一张你从原图上扣下来的矩形图,用opencv寻找到这个区域。代码如下:#include<opencv2/opencv.hpp>#include<iostream>intmain(){//读取源图像和模板cv::MatsrcImg=cv::imread("targe_graph.jpg");cv::MattmplImg=cv::imread("template.......
  • URL中文乱码问题
    我们主要通过两种形式提交向服务器发送请求:URL、表单。而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面。通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了。不同的操作系统、不同的浏览器、不同的网页字符集,将导致完全不同的编码结果。如......
  • 记录--让URL地址都变成了"ooooooooo"
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助发现一个很有创意的小工具网站,如封面图所示功能很简单,就是将一个URL地址转换为都是ooooooooo的样子,通过转换后的地址访问可以转换回到原始地址,简单流程如下图所示。转换的逻辑有点像短链平台一样,只不过这个是将......
  • c++ libcurl获取http header信息
    boolHttpDownloader::GetReceiveHeaderInfo(conststd::string&strUrl,std::map<std::string,std::string>&mapHeaderKeyValue){boolbRet=false;if(strUrl.empty()){returnbRet;}else{CURL*handl......
  • How to Find Django ImageField URL
    Thissetupisworkingforme,maybeitwillhelpyou.ItisforlatestversionofDjango.ManyanswersinOSareforolderDjangoversions.URLS:fromdjango.conf.urls.staticimportstaticfromdjango.confimportsettingsurlpatterns=[#url]+static(s......