常用元字符:
.匹配除换行符以外的任意字符
\w匹配字母、数字、下划线、汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束 例子:\ba\w*b\b  匹配以a开头以b结尾的单词
^匹配字符串的开始
$匹配字符串的结束

转义字符:
一般自符:除了. $ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配
\a与响铃匹配
\b转义字符 \b 是一个特例。在正则表达式中,\b 表示单词边界(在 \w 和 \W
之间),不过,在 [] 字符类中,\b 表示退格符。在替换模式中,\b 始终表示退
格符
\t与Tab符匹配
\r与回车符匹配
\v与垂直符匹配
\f与换页符匹配
\n与换行符匹配
\e与Esc符 匹配
\在后面代代有不识别为转义符字符时,与该字符匹配

重复:
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

反义
\w匹配任意不是字母、数字、下划线、汉字的字符
\s匹配任意不是空白符的字符
\d匹配任意非数字的字符
\b匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符

后向引用
捕获 (abc)匹配abc,以组号来后向引用
 (?<name>abc)或(?’name’abc) 匹配abc,以name名称来后向引用
 (?:abc)匹配abc,不生成组号,不能后向引用
零度断言 (?=abc)匹配abc前面的位置
 (?<=abc)匹配abc后面的位置
 (?!abc)匹配后面跟的不是abc的位置
 (?<!abc)匹配前面不是abc的位置
注释 (?#comment)
这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读

精确匹配与模糊匹配
*?重复任意次
+?重复一次或更多次,但尽量少重复
??重复0次或一次,但尽量少重复
{n,m}?重复n到m次,但尽量少重复
{n,}?重复n次以上,但尽量少重复