字符匹配
字符分为普通字符和元字符,普通字符按照字面意义进行匹配,元字符具有特殊含义
量词
* 匹配前面的模式零次或多次
+ 匹配前面的模式一次或多次
? 匹配前面的模式零次或一次
{n} 匹配前面的模式恰好 n 次
{n,} 匹配钱买你的模式至少 n 次
{n,m} 匹配前面的模式至少 n 次且不超过 m 次
字符类
[ ]:匹配括号内任意一个字符。
[^ ] 匹配除了括号内字符以外的任意一个字符
[A-C] 匹配从 A 到 C 的所有字符,也就是 ABC,其区分大小写
. 匹配除了换行符之外的任何单个字符
[\s\S] 匹配所有
\w 匹配字母、数字、下划线
\d 匹配任意一个阿拉伯数字
\cx 匹配由 x 指明的控制字符,如 \cM 匹配一个 ctrl + M
\n 匹配一个换行符
\r 匹配一个回车符
\S 匹配任何空白字符
\s 匹配任何非空白字符
边界匹配
^ 匹配字符串的开头
$ 匹配字符串的结尾位置
\b 匹配单词边界
\B 匹配非单词边界
() 标记一个子表达式的开始和结束位置
* 匹配前面的子表达式零次或多次,要匹配特殊字符请使用 \
+ 匹配前面的子表达式一次或多次
. 匹配除换行符 \n 以外的任何单字符
[ 标记一个中括号表达式的开始
? 匹配前面的子表达式零次或一次
\ 将下一个字符标记为特殊字符,用于 "转义"
^ 用于匹配输入字符串的开始位置
{ 标记限定符表达式的开始
| 指明两项之间的一个选择
分组和捕获
() 用于匹配特殊字符本身
. 匹配除换行符以外的任意字符
| 用于指定多个模式的选择
修饰符
i 不区分大小写
g 全局匹配
m 多行匹配
s 特殊符号 . 中包含换行符 \n