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

来自:网络
时间:2024-06-09
阅读:

正则表达式的语法

注意事项

在 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个数字。

总结 

返回顶部
顶部