\d:匹配一个数字
\w:匹配一个字母、数字或者下划线
\s:匹配一个空格(tab)
.:匹配任意字符
\u####:匹配指定unicode字符
\D:匹配一个非数字
\W:匹配一个非字母、非数字且非下划线
\S:匹配一个非空格
*匹配任意个字符
+匹配至少一个
?匹配0或1个
{n}匹配n个
{n,m}匹配n-m个
{n,}至少匹配n个
{,m}最多匹配m个
^表示开头
$表示结尾
(…)可以把一个子规则括起来,还可以进行分组
在\d+后面加个?表示非贪婪匹配
正则表达式用(…)分组可以通过Matcher对象快速提取子串:
group(0)表示匹配的整个字符串;
group(1)表示第1个子串,group(2)表示第2个子串,以此类推。
正则表达式匹配默认使用贪婪匹配,可以使用?表示对某一规则进行非贪婪匹配。
注意区分?的含义:\d??。
使用正则表达式可以:
分割字符串:String.split()
搜索子串:Matcher.find()
替换字符串:String.replaceAll()