1、量词元字符
?:表示前面的字符或组可以出现零次或一次。
+:表示前面的字符或组必须出现至少一次。
*:表示前面的字符或组可以出现零次或多次。
{n}:表示前面的字符或组必须恰好出现n次。
{n,}:表示前面的字符或组至少出现n次。
{n,m}:表示前面的字符或组必须出现n到m次(包含n和m)。
2、字符类元字符
.:匹配除了换行符之外的任何单个字符。
[xyz]:字符集合,匹配所包含的任意一个字符。例如,[abc] 匹配 "a"、"b" 或 "c"。
[^xyz]:负字符集合,匹配未包含的任何字符。例如,[^abc] 匹配除了 "a"、"b" 和 "c" 之外的任何字符。
3、边界和控制元字符
^:匹配输入字符串的开始位置。
$:匹配输入字符串的结束位置。
\b:匹配一个单词边界,即字与空格间的位置。
\B:非单词边界匹配。
4、分组和引用元字符
():捕获匹配的子串,可以进行引用或反向引用。
(?:...):非捕获分组,不捕获匹配的子串,仅作为整体进行匹配。
5、转义字符
\:转义字符,用于匹配那些具有特殊含义的字符。例如,\. 匹配真正的点字符,\\ 匹配反斜杠本身。
6、预定义字符类
\d:匹配一个数字字符,等价于 [0-9]。
\D:匹配一个非数字字符,等价于 [^0-9]。
\w:匹配一个单词字符(字母、数字或下划线),等价于 [a-zA-Z0-9_]。
\W:匹配一个非单词字符,等价于 [^a-zA-Z0-9_]。
\s:匹配任何空白字符,包括空格、制表符、换页符等,等价于 [\f\n\r\t\v]。
\S:匹配任何非空白字符,等价于 [^\f\n\r\t\v]。
7、其他元字符
|:或操作符,匹配左侧或右侧的表达式。
\n:匹配一个换行符。
\r:匹配一个回车符。
\t:匹配一个制表符。
\f`:匹配一个换页符。
\v`:匹配一个垂直制表符。