iorate / ublacklist

Blocks specific sites from appearing in Google search results
https://iorate.github.io/ublacklist/
MIT License
5.61k stars 286 forks source link

Regex does not provide a way to whitelist some specific subdomains. #150

Closed PanchamBro closed 2 years ago

PanchamBro commented 2 years ago

I'm trying to blacklist an entire domain (fandom.com) and most of its subdomains, but I'm having a hard time whitelisting certain subdomains from the blocked domain in the process. For instance, I have Zelda Wiki (zelda.fandom.com) on the list of subdomains to not be picked up by uBlacklist, but apparently uBlacklist doesn't seem to recognize that I've set up the regex to not target Zelda Wiki and Zelda Wiki gets blacklisted regardless of what regex I've set up.

Is my regex wrong? Or does uBlacklist not support the regex in mind? Or does uBlacklist need a whitelist in general? Please let me know.

Regex in mind: /(?!(?:zelda|starwars|mlp|animalcrossingpocketcamp|xtaleunderverse|minecraft|terraria|undertale|deltarune|megamitensei).fandom.com)(?=.*\.fandom\..*com)^.+$/ image

iorate commented 2 years ago

Regular expressions search entire URLs (including https://). Remove ^ and prepend ^https?:\/\/:

/^https?:\/\/(?!(?:zelda|starwars|mlp|animalcrossingpocketcamp|xtaleunderverse|minecraft|terraria|undertale|deltarune|megamitensei).fandom.com)(?=.*\.fandom\..*com).+$/

Or you can simply use negative lookbehind:

/(?<!(zelda|starwars|mlp|animalcrossingpocketcamp|xtaleunderverse|minecraft|terraria|undertale|deltarune|megamitensei)\.)fandom\.com/

Or whitelist:

*://*.fandom.com/*
@*://zelda.fandom.com/*
@*://starwars.fandom.com/*
...