是否可以将问号前的URL与正则表达式匹配?

时间:2014-12-08 15:13:12

标签: javascript regex

我们想要检查网址是否与mail.google.com或mail.yahoo.com(也是其中的子域名)相匹配,但不是在问号后包含此字符串的网址。

var possibleURLs = /(mail\.google\.com\/|mail\.yahoo\.com\/)/gi;
var url;
// assign a value to var url.
if (url.split("?")[0].match(possibleURLs) !== null) {
    // Do something...
}

但是如果没有" .split("?")[0]"可以匹配网址吗?正则表达式可以包含问号吗? (任何字符都可以出现在匹配的字符串之前,问号除外)。

2 个答案:

答案 0 :(得分:2)

不确定

var possibleURLs = /^[^\?]*(mail\.google\.com\/|mail\.yahoo\.com\/)/gi;

答案 1 :(得分:0)

使用前瞻的解决方案可以是

^(?!\?mail\.(google|yahoo)\.com).*$

Regex Example Link