我正在尝试将document.URL
与*google.co*/search/*
模式匹配为
if (
!(/google.*\/search/.test(document.URL))
){
alert("hi");
但是我无法弄清楚什么是错的,它不起作用。 编辑:如果模式正确,那么为什么RegExpObject.test()函数不按预期工作?
因为如下所示,网站 是 (或应该)与模式匹配,而!
非运营商,我不应该看到警报,但我是。
编辑:表达式都是正确的(即使是我自己的),我只是遇到缓存问题。
答案 0 :(得分:1)
这是正则表达式:
/(.*\.)?google\.co.+\/search.*\/.*/
它将符合以下模式:
google.com/search/
google.co.uk/search/
www.google.com/search/
www.google.co.uk/search/
google.com/search/query?...
google.com/search-any-pattern/query-any-pattern
...
答案 1 :(得分:1)
你的正则表达式看起来很可疑。
请参阅以下代码:
if ( !(/(www\.)?google\.co[^\/]+\/search/
.test('https://www.google.com/search?q=find%20my%20iphone#q=find+empty+folders')) ) {
alert("nope");
} else {
alert("yup");
}
会提醒"yup"
正确的正则表达式将是:
/(www\.)?google\.co[^\/]+\/search/
您无需匹配文字*