title: Regular Expression: Match with Containing and not Containing
body: <p>I am trying to parse through a log file which contains many lines with the word <code>ERROR</code> followed by the class and method from which an exception was thrown, like this:</p>
  
  <pre><code>2016-08-18 19:38:17 ERROR  [KUHOMNYXARCH] [ 47] [c43215c4-acfd-491b-b418-653b53195be3] [MultiFormatRoiStreamer.GetImageRoi]
  2016-08-18 19:39:46 ERROR  [KUHOMNYXARCH] [ 46] [10ba0a0e-0ede-4d0e-a582-d7e811bb7ade] [ExceptionHandlingBehavior.ProvideFault] 
  </code></pre>
  
  <p>I am trying to write a regular expression which will match all lines containing <code>ERROR</code>, but not containing <code>MultiFormatRoiStreamer.GetImageRoi</code> and <code>ExceptionHandlingBehavior.ProvideFault</code>. My attempts to use negative lookahead assertions have not worked:</p>
  
  <pre><code>ERROR\s+\[KUHOMNYXARCH\] \[ [0-9]+\] \[[0-9a-f\-]+\] (?!(\[MultiFormatRoiStreamer\.GetImageRoi\]|\[ExceptionHandlingBehavior\.ProvideFault\]))
  ERROR.+(?!(MultiFormatRoiStreamer|ExceptionHandlingBehavior))
  </code></pre>
  
  <p>Any ideas on this?</p>