RE2 / Perl RegEx,选择所有行而没有多个单词

时间:2019-04-08 14:50:06

标签: regex regex-negation re2

我在无法使用否定前瞻方面遇到困难RE2。 使用普通的正则表达式,我只会做这样的事情:

^(?!text|someText|.*cont).*

排除以“ text”,“ someText”开头并包含“ cont”的行。不幸的是,RE2无法使用负前瞻。

我们如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以通过使用正匹配项来处理否定的超前条件,然后期望得到否定。例如:

$input = "text is good";
if ($input !~ m/^(text|someText).*$/ && $input !~ m/^.*cont.*$/) {
    print "MATCH";
}
else {
    print "NO MATCH";
}