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实现的模糊匹配某文件夹下的文件并删除功能示例

    Java实现的模糊匹配某文件夹下的文件并删除功能示例

    这篇文章主要介绍了Java实现的模糊匹配某文件夹下的文件并删除功能,涉及java针对目录与文件的遍历、匹配、判断、删除等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Java编程Post数据请求和接收代码详解

    Java编程Post数据请求和接收代码详解

    这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • IntelliJ IDEA2020.3详细安装教程

    IntelliJ IDEA2020.3详细安装教程

    这篇文章主要介绍了IntelliJ IDEA2020.3详细安装教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Maven jar包下载失败问题的处理方法

    Maven jar包下载失败问题的处理方法

    很多同学在Maven里下载一些依赖的时候,即下载jar包的时候总是会出现一些问题,本文将就这个问题给大家详细的讲解一下,需要的朋友可以参考下
    2023-06-06
  • Java设计模式系列之深入浅出单例模式

    Java设计模式系列之深入浅出单例模式

    设计模式是在大量的实践中总结和理论之后优选的代码结构,编程风格,以及解决问题的思考方式,下面这篇文章主要给大家介绍了关于Java设计模式系列之深入浅出单例模式的相关资料,需要的朋友可以参考下
    2021-09-09
  • javax NotBlank和Email注解失效的解决

    javax NotBlank和Email注解失效的解决

    这篇文章主要介绍了javax NotBlank和Email注解失效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析

    以下是对java连接mysql数据库的具体详细步骤进行了分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • 解析Java的设计模式编程之解释器模式的运用

    解析Java的设计模式编程之解释器模式的运用

    这篇文章主要介绍了解析Java的设计模式编程之解释器模式的运用,文中对解释器模式的优缺点及适用场景作出了分析,需要的朋友可以参考下
    2016-02-02
  • 关于文件合并与修改md5值的问题

    关于文件合并与修改md5值的问题

    这篇文章主要介绍了关于文件合并与修改md5值的问题,使用本博客的方法,不仅仅可以修改md5值,还可以达到隐藏文件的目的,需要的朋友可以参考下
    2023-04-04
  • Java 设计模式以虹猫蓝兔的故事讲解建造者模式

    Java 设计模式以虹猫蓝兔的故事讲解建造者模式

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2022-04-04

最新评论