正则表达式URL没有数字

时间:2016-08-04 04:02:03

标签: javascript regex

如果URL的主要部分后面没有任何数字,我想只执行一个函数。例如,我希望以下网址匹配:

http://link.com/groups

但不是

http://link.com:8001/http://link.com:8000/?alert=true

我已经将正则表达式/link.com[^0-9]+/聚集在一起但它仍然匹配我不想匹配的链接的第一部分,所以当我有声明时:

   var link = document.URL;
   var re = /link.com[^0-9]+/;
   if (re.exec(link)){
      console.log("hello");
   }

"你好"仍然会退出。如果URL的主要部分之后没有数字,即使URL的一部分匹配,有没有办法只执行该功能?

1 个答案:

答案 0 :(得分:3)

使用negative lookahead (?!...)

/link\.com(?!:\d)/



var link = "http://link.com:8000/?alert=true";
var re = /link\.com(?!:\d)/;
if (re.exec(link)) {
  console.log("hello");
} else {
  console.log("no match");  
}




Regex101 Demo