0%

正则表达式-匹配规则

匹配规则

符号 字符 正则 Java字符串 解释
abc abc abc
\ a&c a\&c a\\&c 正则中特殊字符需要\来表示转义,而Java字符串中需要表达正则中的转义标志\,则需要另一个\来转义正则中的\字符,故Java字符串中需要\\来表示转义
\u#### a和c a\u548cc 非ASCII字符用\u####表示
. abc,a&c a.c a.c .匹配任意字符,能且只能匹配一个,**这里不能用\**
\d 007,008 00\d \d匹配数字,能且只能匹配一个
\D 00A,00# 00\D \D匹配数字,能且只能匹配一个
\w javac,java8,java_, java\w \w匹配字母、数字或下划线,能且只能匹配一个
注意不能匹配特殊字与Space,比如java#
\W java!,java(space), java\W \W匹配字母、数字或下划线,能且只能匹配一个
也就是可以特殊匹配字符与space
\s A B(space) A B(tab) A\sB \s匹配空白字符,能且只能匹配一个,且可以匹配tab字符
\S A&B,AAB A\sB \S匹配空白字符
* A,A1,A007 A\d* 修饰符*匹配任意个字符
这里正则的含义是:首先匹配A字符,接着匹配任意个数字
+ A1,A007 A\d+ 修饰符+匹配至少一个字符
这里正则的含义是:首先匹配A字符,接着匹配至少一个数字
? A,A1,A& A\d? 修饰符?匹配零个或一个字符
这里正则的含义是:首先匹配A字符,接着匹配零个或一个数字
{n} 123456,99999 \d{6} 修饰符{n}匹配n个字符
这里正则的含义是:匹配6个数字
{n,m} 123,1234,12345 \d{3,5} 修饰符{n,m}匹配n-m个字符
这里正则的含义是:匹配3-5个数字
{n,} 123,12345678999 \d{3,} 修饰符{n,}匹配至少n个字符
这里正则的含义是:匹配至少3个数字

示例:判断用户输入的年份是否是19xx年

规则:1 9 0-9 0-9

正则:1 9 \d \d

Java字符串:"19\\d\\d"

Java代码:

1
2
3
4
5
String input = "1990";
boolean is19xx = false;
if(input!=null){
is19xx = input.matches("19\\d\\d");
}