Search code examples
regexstringlogfile-analysis

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] Receiver 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


Solution

  • 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.