我对RE2的负面前瞻有困难。使用正常的正则表达式我会做这样的事情:
^(?!text|someText|.*cont).*
排除以“text”,“someText”开头并包含“cont”的行。不幸的是RE2没有负向前瞻。
我们怎么解决这个问题?
您可以通过使用正匹配来处理负前瞻条件,然后期望否定它。例如:
$input = "text is good";
if ($input !~ m/^(text|someText).*$/ && $input !~ m/^.*cont.*$/) {
print "MATCH";
}
else {
print "NO MATCH";
}