The following pattern is perhaps a bit too loose since it can block based on three letter strings "ads" and "adv":
/(.*/)?ad(\?|/|s|v|_?(image|se?rv|box)|cycle|rotate|mentor|click|f[ra]m|script|stream|fetch|log|space)
For example, it blocks
http://www.scottaaronson.com/talks/advucsb.ppt
along with a few other false positives that I have seen so far.
Perhaps it would be better to require a word boundary after "ads". I can't think of what "adv" is supposed to match, except for "advert" which could be spelled out explicitly.
Thanks for the report. I'll look into this after the next release.
I agree. I just found another false positive:
www.worldnomads.com
I changed mine for the same reason, not sure if it is a good thing but it works.
/(.*/)?ads(\?|/|1|erver|pop|wrap|cycle|rotate|mentor|click|f[ra]m|script|stream|fetch|log|space)