正则表达式在javascript中排除特定网站?

时间:2017-06-20 08:29:57

标签: javascript regex

我有一个匹配所有网站的正则表达式,但我想从此正则表达式中排除2个特定网站?

正则表达式

[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

我想要排除的网站是

www.gfycat.com
www.imgur.com
imgur.com/*
gfycat.com/*

是否可以编写排除特定网站的正则表达式?关于如何解决这个问题的任何建议?

/[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/

我已附上匹配模式的屏幕截图。 enter image description here

需要在此处实施RES和正则表达式。enter image description here

2 个答案:

答案 0 :(得分:1)

尝试this

^(?:(?!(?:www\.)?(?:google|gfycat|imgur))[-a-zA-Z0-9@:%._\+~#=]{2,256})\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

答案 1 :(得分:0)

不确定,为什么你需要正则表达式来做同样的事情。除非我完全理解它,否则你能不能像下面那样做一些简单的事情。

url = new URL('https://www.google.co.uk/?gfe_rd=cr&ei=bN5IWaP7CYyDtAHKv4CIBg#q=hello');

if url.hostname == 'www.google.com'
// ignore
else
// process 

由于OP使用不同的工具,答案与具体问题无关