正则表达式速查表
零宽断言
正向零宽断言
(?<=exp)exp(?=exp)
零宽正回顾后发断言 – 零宽正预测先行断言
负向零宽断言
(?<!exp)exp(?!exp)
零宽负回顾后发断言 – 零宽负预测先行断言
总结
正负 | 回顾 | 预测 |
---|---|---|
正 | (?<=exp) | (?=exp) |
负 | (?<!exp) | (?!exp) |
- 在匹配表达式前面的叫回顾,后面叫预测。回顾要带小于号,预测不用。
- 正向为匹配到,负向为不能匹配到。正向为等号,负向为叹号。
其他
注释
(?#注释)
注:当启用“忽略模式中的空白字符”选项后,#
后面的都作为注释
分组与捕获
- 带序号捕获
(exp)
\1
。 - 带名称捕获
(?<name>exp)
\k<name>
,其中尖括号可以用单引号代替。 - 不捕获匹配
(?:exp)
,可用于匹配重复的模式,比如(?:[\d]{6})+
匹配1/7
循环体的整数倍。
贪婪匹配
默认是贪婪匹配,在能匹配多个的表达式后面加上?
即可变为非贪婪匹配。