Match string that doesn't contain a specific word
match, regex, ruby
Solution
Just use a negative lookahead `^(?!.*dog).*$`.
Explanation
- `^` : match begin of line
- `(?!.*dog)` : negative lookahead, check if the word dog doesn't exist
- `.*` : match everything (except newlines in this case)
- `$` : match end of line
Online demo
Problem
I'm working with ruby with the `match` method and I want to match an URL that doesn't contain a certain string with a regular Expression: ex: ``` http://website1.com/url_with_some_words.html http://website2.com/url_with_some_other_words.html http://website3.com/url_with_the_word_dog.html ``` I want to match the URLs that doesn't contain the word `dog`, so the 1st and the 2nd ones should be matched