包含和排除在一个正则表达式中


0

我们正在使用HP SiteScope系统来监控日志,并在捕获特殊字符串或字符串组合时获取警报。

有一个字段可以放置捕获字符串的正则表达式,但是我想要排除一些我们用reg exp捕获的结果。例如:

grep -E '(GOOD_STRING1|GOOD_STRING2)' | grep -v BAD_STRING

需要转换成单个reg exp。像这样的东西:

grep -E '(GOOD_STRING1|GOOD_STRING2)!BAD_STRING)'

那可能吗?

Answers:


1

您可以使用Perl正则表达式执行此操作:

$ echo 'GOOD_STRING1
> GOOD_STRING1BAD_STRING' | grep -P '(GOOD_STRING1|GOOD_STRING2)(?!BAD_STRING)'
GOOD_STRING1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.