带负匹配的正则表达式

时间:2016-02-02 18:00:13

标签: regex regex-negation

我正在尝试构建一个带有负匹配的多个条件的正则表达式。

正则表达式(1) - > line包含value1且不包含value2

正则表达式(2) - > line不包含value3或包含value4

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

一般说这可以通过前瞻来实现 您的第一个表达式将转换为正则表达式,如下所示:

(?=.*(?:value1))(?!.*(?:value2)).*
# looks ahead twice
# once for value1 (positive)
# and again for value2 (negative)
# the dot-star actually matches the whole line

这里是online demo on regex101.com。但根据您的实际情况,它可能会有所不同。第二个是练习: - )