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
Another thing you can use is:
With your example:
You could also reject the urls that do contain
'dog'
:Just use
to select strings you need.
There's actually an incredibly simple way to do this, using select.
this will return an array of the url's that don't contain the word 'dog' anywhere in it.
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 lineOnline demo