正则正向预查(正则表达式非关系)
非匹配用(?!exp)
匹配非“非内容”的表达式应该写成:^(?!.*非内容).*$
1.正则中除非在方括号表达式之中[^]表示不接受该字符集合,否则^表示匹配输入字符的开始位置。
2.例如:^(?!.*(帝国|法轮)).*$ 其中 .* 表示任意字符(除换行符)出现0次或多次
3.常用分组语法
捕获
(exp) 匹配exp,并捕获文本到自动命名的组里
(?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
(?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号
零宽断言
(?=exp) 匹配exp前面的位置
(?<=exp)匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp)匹配前面不是exp的位置
注释
(?#comment) 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读