正则表达式通常被用于判断语句中,用来检查某一个字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串。

几种常用的正则表达式元字符:

. 代表任意一个字符

\\d 代表0-9的如何一个数字

\\D 代表任何一个非数字字符

\\s 代表空白字符 如'\t'、'\n'

\\S 代表非空白字符

\\w 代表可用于标识符的字符

\\W 代表不可用于标识符的字符

\\p{Lower} 代表小写字母a-z

\\p{Upper} 代表大写字母A-Z

常用的限定修饰符:

? 代表0次或1次

* 代表0次或多次

+ 代表1次或多次

{n} 代表正好出现n次

{n,} 代表至少出现n次

{n,m} 代表出现n-m次

代码示例如下:

/**
 * @author qx
 * @date 2023/06/10
 * @desc 正则表达式测试
 */
public class RegexDemo {
    public static void main(String[] args) {
        // 定义匹配email地址的正则表达式
        String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
        String str1 = "aaa@";
        String str2 = "aaaa";
        String str3 = "hello@qq.com";
        String str4 = "111@kfc.dfg.com";

        System.out.println(str1.matches(regex));
        System.out.println(str2.matches(regex));
        System.out.println(str3.matches(regex));
        System.out.println(str4.matches(regex));
    }
}

执行结果:

false
false
true
true
06-10 18:04