Regex to match certain lines, except when they have certain words (limited regex vocab available)
I'm using a log tailing app (BareTailPro) that highlights rows which match regular expressions. I currently have the filter set to just error
(ignore case on) which returns, for example:
25/07/2011 00:09:43.384 [Error] Timeout elapsed
25/07/2011 01:44:04.541 [Error] Re开发者_开发技巧ceiver TopicName message count changed
25/07/2011 06:07:23.648 [Error] Error processing files
25/07/2011 09:40:04.591 [Error] Receiver TopicName message count changed
25/07/2011 16:42:12.163 [Error] Error Getting Matches & Rejects
I don't want to see the rows with Receiver TopicName.*
.
Is it possible to set up a regex to do this? The app seems to have an extremely limited expression vocabulary: reference
Given Dogbert's answer which says there's no negative lookahead I suggest this:
If you know what all the possible things that come after error are, for example Timeout
, Error
, Error Getting Matches
, etc... You could add all of that to your regexp. So instead of matching error, you could match error (Timeout|Error|Error Getting Matches)
and so on.
It is not a perfect solution (and you run the risk of missing some), but it could work.
It's not possible as there's no look ahead statement support mentioned on that page.
You can try a negative lookahead if BareTailPro supports it.
精彩评论