1.
转义字符
^ 匹配字符串开始
$ 匹配字符串结尾
? 匹配前字符0-1次
. 匹配前字符1次
+ 匹配前字符1-n次
* 匹配前字符0-n次
2.
匹配单词边界 'er' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'
B 匹配非单词边界
d [0-9] 匹配数字
D [^0-9]
w [0-9a-zA-Z_] 匹配数字字母下划线
W [^0-9a-zA-Z_]
s [f
v] 匹配空白字符
S [^f
v]
cx 匹配由 x 指明的控制字符。cM 匹配一个 Control-M 或回车符
3.
()提取匹配的字符串
[]定义匹配的字符范围,一个字符
{}表示匹配的长度
4.
x|y x或y
[^xyz] 非 x或y或z
[a-z] 范围
5.匹配exp1
//匹配 pattern 但不获取匹配结果
(?:pattern)
// 前瞻:
exp1(?=exp2) exp1后边是exp2就匹配
// 后顾:
(?<=exp2)exp1 exp1前边是exp2就匹配
// 负前瞻:
exp1(?!exp2) exp1后边不是exp2就匹配
// 负后顾:
(?<!exp2)exp1 exp1前边不是exp2就匹配