Java正则表达式之全量匹配和部分匹配

 更新时间:2023年06月29日 08:47:59   作者:成都被卷死的程序员  
正则表达式异常强大,一直理解不深,用的也不深,这次项目中尝试,体会到了它的强大之处,这篇文章主要给大家介绍了关于Java正则表达式之全量匹配和部分匹配的相关资料,需要的朋友可以参考下

一,前言

我们在用String.matches()的时候发现字符串中有能匹配的地方却返回为false。如:

        String abc  = "regex.1234561";
        boolean matches = abc.matches("^[a-z]{4}.[0-9]+$");

得到matches为false。但我们在一些在线测试正则匹配中可以看到如下

所以这里我们就需要知道java正则的匹配形式是有区分的。

二,全量匹配

顾名思义,就是指整个字符串必须全部符合你正则表达式才能返回为true。就是我们熟知的String.matches("正则")。

        String abc  = "regex.1234561";
        boolean matches = abc.matches("^[a-z]{5}.[0-9]+$");
        // 输出该结果为true
        System.out.println(matches);

三,部分匹配

相对于全量匹配,我们只提取字符串中符合正则的部分。java中当然也有此类方法。方法如下:

        String abc  = "regex.1234561";
        Pattern pattern = Pattern.compile("[a-z]{4}.[0-9]+");
        Matcher matcher = pattern.matcher(abc);
        while (matcher.find()) {
            // 得到符合的匹配egex.1234561
            System.out.println(matcher.group());
        }

四,补充

我们常用的String.replaceAll(regex, replaceStr);中其实也是用的是部分匹配进行的替换

        String abc  = "regex.1234561";
        String all = abc.replaceAll("[0-9]{3}", "****");
        // 输出结果为regex.********1
        System.out.println(all);

总结

到此这篇关于Java正则表达式之全量匹配和部分匹配的文章就介绍到这了,更多相关Java正则匹配内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现导出pdf格式文件的示例代码

    Java实现导出pdf格式文件的示例代码

    这篇文章主要为大家详细介绍了Java实现导出pdf格式文件的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • java实现英文翻译程序

    java实现英文翻译程序

    这篇文章主要为大家详细介绍了java实现英文翻译程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • java获取web容器地址的方法

    java获取web容器地址的方法

    java获取web容器地址的方法,需要的朋友可以参考一下
    2013-04-04
  • Apache log4j2-RCE 漏洞复现及修复建议(CVE-2021-44228)

    Apache log4j2-RCE 漏洞复现及修复建议(CVE-2021-44228)

    Apache Log4j2是一款Java日志框架,大量应用于业务系统开发。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞(CVE-2021-44228),本文给大家介绍Apache log4j2-RCE 漏洞复现(CVE-2021-44228)的相关知识,感兴趣的朋友一起看看吧
    2021-12-12
  • java Springboot实现多文件上传功能

    java Springboot实现多文件上传功能

    这篇文章主要为大家详细介绍了java Springboot实现多文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Java线程池7个参数的含义

    Java线程池7个参数的含义

    这篇文章主要介绍了Java线程池7个参数的含义,所谓的线程池的 7 大参数是指,在使用 ThreadPoolExecutor 创建线程池时所设置的 7 个参数,下文更多详细内容,需要的小伙伴可以参考一下
    2022-05-05
  • Kotlin 基础教程之异常

    Kotlin 基础教程之异常

    这篇文章主要介绍了Kotlin 基础教程之异常的相关资料,需要的朋友可以参考下
    2017-06-06
  • Java仿淘宝首页分类列表功能的示例代码

    Java仿淘宝首页分类列表功能的示例代码

    这篇文章主要介绍了仿淘宝分类管理功能的示例代码,具有很好的参考价值,希望对大家有所帮助,也给大家做个参考
    2018-05-05
  • java线程池参数自定义设置详解

    java线程池参数自定义设置详解

    这篇文章主要为大家介绍了java线程池参数自定义设置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Java实现的最大匹配分词算法详解

    Java实现的最大匹配分词算法详解

    这篇文章主要介绍了Java实现的最大匹配分词算法,简单说明了最大匹配分词算法的原理并结合具体实例形式最大匹配分词算法的实现方法与相关注意事项,需要的朋友可以参考下
    2017-09-09

最新评论