str.matches("");//检验str字符串是否符合标准
预定义字符:
. 任意字符
\d 数字:[0-9]
\D 非数字
\s 空白字符(\t \n \x0B \f \r)
\S 非空白字符
\w 单词字符(a-z A-Z 0-9 _)
\W 非单词字符
注意:'\' 需要转义;
任意预定义字符没有加上数量词之前都只能匹配一个字符;
Greedy 数量词:
X? X,一次或一次都没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好n次
X{n,} X,至少n次
X{n,m}X,至少n次,但不超过m次
范围词:
[abc] 除了a,b,c以外都报false
[^abc] 任意除去a,b,c的字符
[a-zA-Z] a到z或A到Z:两头字母包括在内
[a-d[m-p]] a到d 或m到p: [a-dm-p](并集)
[a-z&&[def]] def(交集)
注意:范围词里没数量词也只能匹配一个字符
应用:切割重叠词
如果正则的内容要被复用,那么要对正则的内容分组 。组号不能指定,组号从1开始
str.split("(.)\\1+")
\1:引用第一组所匹配到的内容