正则表达式
目录字符通配符
.
:匹配任意单个字符(除了换行符)。
次数通配符
*
:前一个字符的 0 次或多次。例如,a*
可以匹配 "cat" 中的 "c",也可以匹配 "apple" 中的 "app"。+
:前一个字符的 1 次或多次。例如,a+
可以匹配 "apple" 中的 "app",但不能匹配 "c"。?
:前一个字符的 0 次或 1 次。例如,colou?r
可以匹配 "color" 或 "colour"。{n}
:精确匹配 n 次。例如,a{2}
匹配 "aa"。{n,}
:至少匹配 n 次。例如,a{2,}
匹配 "aa" 或 "aaa"。{n,m}
:匹配 n 到 m 次。例如,a{1,3}
匹配 "a"、"aa" 或 "aaa"。
字符类
[...]
:匹配括号内的任意一个字符。例如,[abc]
可以匹配 "a"、"b" 或 "c"。[^...]
:匹配不在括号内的任意一个字符。例如,[^abc]
可以匹配除了 "a"、"b" 和 "c" 之外的任何字符。
定位符
^
:匹配输入字符串的开始位置。$
:匹配输入字符串的结束位置。
分组和量词
()
:将多个表达式组合成一个子表达式,可以对其应用量词或使用|
进行分组。例如,(ab|cd)
可以匹配 "ab" 或 "cd"。
选择和逻辑运算符
|
:逻辑或运算符,匹配两个表达式中的任意一个。例如,cat|dog
可以匹配 "cat" 或 "dog"。
边界匹配符
\b
:单词边界,匹配一个单词的开头或结尾。\B
:非单词边界,匹配不是单词开头或结尾的位置。
转义特殊字符
\
:用于转义那些在正则表达式中有特殊意义的字符,使其失去特殊意义,只匹配字面量。例如,要匹配字面量的.
,可以使用\.
。
预定义字符类
\d
:匹配任意数字,等同于[0-9]
。\D
:匹配任意非数字字符,等同于[^0-9]
。\w
:匹配任意字母数字字符,包括下划线,等同于[a-zA-Z0-9_]
。\W
:匹配任意非字母数字字符,等同于[^a-zA-Z0-9_]
。\s
:匹配任意空白字符,包括空格、制表符、换行符等。\S
:匹配任意非空白字符。