I\'m trying to write a regular expression to match anything that isn\'t \"foo\" and \"bar\". I found how to match anything but one word at Regular expression to match a lin
Answer to the question: "A Regular Expression to match anything that isn't "foo" and "bar"?"
^(?!foo$|bar$).*
would do exactly that.
^ # Start of string
(?! # Assert that it's impossible to match...
foo # foo, followed by
$ # end of string
| #
bar$ # bar, followed by end of string.
) # End of negative lookahead assertion
.* # Now match anything
You might need to set RegexOptions.Singleline if your string can contain newlines that you also wish to match.