一、符号理解:"?="、"?!"、"?<="、"?<!"
// 前瞻 --- 理解:exp1后边是exp2就匹配 exp1(?=exp2) // 负前瞻 --- 理解:exp1后边不是exp2就匹配 exp1(?!exp2) // 后顾 --- 理解:exp1前边是exp2就匹配 (?<=exp2)exp1 // 负后顾 --- 理解:exp1前边不是exp2就匹配 (?<!exp2)exp1
二、示例理解:
示例:^((?!(A股|基本面)).)*(季度|年报)((?!(A股|基本面)).)*$
- (?!(A股|基本面)):表示匹配不含”A股“和"基本面"的字符
- ((?!(A股|基本面)).)*:表示匹配不含”A股“和"基本面"的字符和任意字符"."的组合,出现任何次*
- (季度|年报):表示匹配“季度”或者“年报”字符
- 最后结果:匹配不包含”A股“和"基本面",但包含“季度”或者“年报”的一行字符