匹配规则
符号 | 字符 | 正则 | 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 | String input = "1990"; |