JAVA matches的使用

时间:2025-02-15 11:31:38

matches() 的参数是正则表达式,用于检测输入的字符串是否匹配给定的正则表达式,返回值为布尔类型:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.next();
        String emailMatcher = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+";
         //()方法用于检测输入的字符串是否匹配给定的正则表达式,返回值为布尔类型
        System.out.println(str.matches(emailMatcher) ? "邮箱格式合法" : "邮箱格式不合法");
    }
}
下面简单介绍一下程序里的正则表达式:

[ ] 表示字符组,可以匹配一组可能出现的字符,连字符 - 代表区间。如[Yy]yd[Ss] ,可以匹配 YydS、yydS、Yyds、yyds[a-zA-Z0-9] 可以匹配 26 个字母的大小写和数字 0-9。
[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+ 中的 + 表示其前面的字符出现的次数不少于 1 次,正则表达式中表示特殊字符时用 \ 转义,Java代码里需要写成 \\。该式整体表示 n (n >= 1) 个字符后面跟着一个 @@ 的后面又跟着 n (n >= 1) 个字符,然后是 . 和 n 个字符。