单字符匹配
\d: 表示匹配 数字
\D: 表示匹配 非数字
\w: 表示匹配 [a-zA-Z0-9_]
\W: 对 w 取反
\s: 匹配任意一个 空白 字符(包括空格、制表符、换行符)
\S: 匹配任意一个 非空白 字符
. : 匹配 除 换行符 之外任意一个字符
\ : 转义字符
多字符匹配
X{m} : 匹配m个x匹配的内容
X{m,} : 匹配 至少m个 X匹配的内容
X{m,n} : 匹配 至少m个,最多n个X匹配的内容 PS:m<=n
贪婪式表达式
X* :等价与 X{0,}
X+ :等价与 X{1, }
X? :等价与X{0,1}
非贪婪式表达式
X*? :等价与 X{0,}
X+? :等价与 X{1, }
X?? :等价与X{0,1}
非贪婪式表达式、优先匹配 表达式后面的正则匹配的内容,非贪婪式表达式 尽可能少的匹配元素
限定符
^ :出现在正则的头部 代表以 ... 开头
$ :出现在 正则的尾部 代表 以 ... 结尾
分组(…)(被小括号括住的叫作组,组的顺序左括号从1开始)
\num 引用 :num 从1开始、代表引用对应组匹配的内容
(?<key>\d+) :命名分组 正则匹配的内容会交给 key (给组起个名字)
(?:xxx) :非捕获分组 ?: 匹配的内容不作为组 (小括号括住的加上 ?: 就不作为组了)