Java中正则表达式的语法以及matches方法的使用方法

 更新时间:2024年05月13日 09:51:30   作者:Alice763333  
正则表达式(Regular Expression)是一门简单语言的语法规范,是强大、便捷、高效的文本处理工具,这篇文章主要给大家介绍了关于Java中正则表达式的语法以及matches方法的使用方法,文中通过代码介绍的非常详细,需要的朋友可以参考下

正则表达式的语法

注意事项

在 Java 中,\\ 表示:我要插入一个反斜线,从而使其后的字符具有特殊的意义。在 Java 中正则表达式中则需要有两个反斜杠才能被解析为转义作用。可以简单的理解在 Java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,所以表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\。

字符

1.预定义字符类

●.表示任何字符\.进行转义

●\d数字: [0-9]

[]:用于定义反向字符类。

●\D非数字[^ 0-9]

●\w单词字符: [a-zA-Z. _0-9] (. _是下划线)

●\W非单词字符: [^ \w]

2.字符类

●[abc]a、b、或c .

●[^abc]任何字符,除了a、 b、或c

●[a-zA-Z] a到z或A到Z, 两头的字母包括在内(范围) 简写[A-z]

3.Greedy数量词

●X? X,一次或一次也没有

XX,零次或多次

●X+X,一次或多次

●X{n}X, 恰好n次

●X{n,}X, 至少n次

●X{n,m}X, 至少n次,但是不超过m次n-m次

matches方法

在Java中,matches()方法是一个字符串方法,用于检查该字符串是否与给定的正则表达式匹配。

语法

public boolean matches(String str)

参数

str为匹配字符串的正则表达式

返回值

这个方法返回一个布尔值,如果字符串与正则表达式匹配,那么返回true,否则返回false。

实例

实例1

public class Main {
    public static void main(String[] args) {
        String email = "example@example.com";
        boolean isValid = email.matches("[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+");
        System.out.println("邮箱地址是否有效:" + isValid);
    }
}

正则表达式解析:

  • [\\w-]+:匹配一个或多个字母、数字、下划线或连字符。
  • (\\.[\\w-]+)*:匹配0个或多个以点号开头,后面跟一个或多个字母、数字、下划线或连字符的组合。
  • @:匹配字符"@"。
  • [\\w-]+:匹配一个或多个字母、数字、下划线或连字符。
  • (\\.[\\w-]+)+:匹配一个或多个以点号开头,后面跟一个或多个字母、数字、下划线或连字符的组合。

 实例2

public class Main {
    public static void main(String[] args) {
        String phoneNumber = "13800138000";
        boolean isValid = phoneNumber.matches("1[3-9]\\d{9}");
        System.out.println("手机号码是否有效:" + isValid);
    }
}

正则表达式解析:

  • 1:匹配字符"1"。
  • [3-9]:匹配数字3到9之间的任意一个数字。
  • \\d{9}:匹配9个数字。

总结 

到此这篇关于Java中正则表达式的语法以及matches方法使用的文章就介绍到这了,更多相关Java正则语法及matches方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring 中的 Service 有多个实现类如何注入(多种方式)

    Spring 中的 Service 有多个实现类如何注入(多种方式)

    这篇文章主要介绍了Spring 中的 Service 有多个实现类如何注入,本文通过多种方式结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • java实现饮料自助售货机

    java实现饮料自助售货机

    这篇文章主要为大家详细介绍了java实现饮料自助售货机,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • idea2019版Plugins中搜索不到任何插件的问题解决

    idea2019版Plugins中搜索不到任何插件的问题解决

    本文主要介绍了idea2019版Plugins中搜索不到任何插件的问题解决,插件搜不出来的主要原因是plugins.jetbrains.com ping不通,下面就来介绍一下解决方法,感兴趣的可以了解一下
    2023-09-09
  • Java实现贪吃蛇游戏源码

    Java实现贪吃蛇游戏源码

    这篇文章主要为大家详细介绍了Java实现贪吃蛇游戏源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • SpringBoot自动重启的两种方法

    SpringBoot自动重启的两种方法

    我们在项目开发阶段,可能经常会修改代码,修改完后就要重启Spring Boot,本文主要介绍了SpringBoot自动重启的两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 探讨Java中函数是值传递还是引用传递问题

    探讨Java中函数是值传递还是引用传递问题

    这篇文章主要介绍了探讨Java中函数是值传递还是引用传递问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • springboot如何统一设置时区

    springboot如何统一设置时区

    这篇文章主要介绍了springboot如何统一设置时区问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 修改及反编译可运行Jar包实现过程详解

    修改及反编译可运行Jar包实现过程详解

    这篇文章主要介绍了如何修改及反编译可运行Jar包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 使用SpringBoot与Thrift实现RPC通信的方式详解

    使用SpringBoot与Thrift实现RPC通信的方式详解

    在微服务架构的世界里,服务间的通信机制选择成为了关键决策之一,RPC因其简洁、高效的特点备受青睐,本文将详细探讨如何利用Spring Boot和Thrift框架构建RPC通信,让读者理解其内在原理及实现方式,需要的朋友可以参考下
    2023-10-10
  • JPA中@CreatedDate和@LastModifiedDate的使用方式

    JPA中@CreatedDate和@LastModifiedDate的使用方式

    这篇文章主要介绍了JPA中@CreatedDate和@LastModifiedDate的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论