正则表达式本质上来讲就是一个字符串,它可以指定一些规则,用来校验其他字符串
1.字符类(默认匹配一个字符)
[abc] 只能是a,b或c
[^abc] 除了a,b,c之外的任何字符
[a-zA-Z] a到z A到Z
[a-d[m-p]] a到d,或m到p
[a-z&&[def]] d,e或者f
[a-z&&[^bc]] a到z,除了b和c
[a-z&&[^m-p]] a到z,除了m到p
2.预定义的字符类(默认匹配一个字符,前面一般加上转义字符"\")
. 任何字符
\d 一个数字:[0-9]
\D 非数字:[^0-9]
\s 一个空白字符:[\t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w [a-zA-Z_0-9]英文,数字,下划线
\W [^\w]一个非单词字符
3.贪婪的量词(匹配多个字符)
X? 一次或者一次都没有
X* 零次或者多次
X+ 一次或者多次
X{n} 正好n次
X{n,} 至少n次
X{n,m} 至少n次但不超过m次
校验:
String telRegex = "编写规则";
boolean result = "需要做校验的字符串".matches(telRegex);