Regex to match anything but two words

前端 未结 3 1396
深忆病人
深忆病人 2020-12-01 07:43

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

3条回答
  •  感情败类
    2020-12-01 07:55

    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.

提交回复
热议问题