Chrome url 匹配模式

问题描述 投票:0回答:3

我似乎听不懂“?” char 匹配 url 中的问号。

所以本质上

"matches": [ "http://www.google.com/search?* ],

不会匹配

"http://www.google.com/search?cx=c&sourceid=chrome&ie=UTF-8&q=asdf"

还有,

"matches" : [ "http://www.google.com/search*asdf" ],

不匹配

"http://www.google.com/search?aq=f&cx=c&sourceid=chrome&ie=UTF-8&q=asdf"

这让我相信 chrome 不会考虑“?”之后的任何内容。这是正确的吗?

javascript google-chrome-extension
3个回答
3
投票

根据docs,您需要去掉问号:

"matches": [ "http://www.google.com/search* ],

这也将匹配请求参数。


1
投票

作为更新:允许在 MatchPatterns 中使用

?
。路径的当前文档指出

<path> := '/' <any chars>

哪里

在路径部分,每个“*”匹配0个或多个字符。

请参阅https://github.com/serv-inc/hider/blob/master/addon/manifest.json#L24的用法。


0
投票

您必须向我们展示您用于进行此匹配的代码。如果您使用采用正则表达式的字符串搜索函数,那么如果您希望将所有正则表达式字符作为普通字符进行搜索,则必须对它们进行转义。

要转义正则表达式字符,您可以在其前面加上反斜杠,如下所示:

"matches": [ "http://www.google.com/search\?* ],

如果您不想弄乱正则表达式,您可以使用非正则表达式搜索,例如

.indexOf()
,您不必担心这一点。

© www.soinside.com 2019 - 2024. All rights reserved.