Reg Exp:带空格的多个单词(%20)

时间:2017-05-02 19:06:43

标签: regex

我正在尝试从Google广告中捕获用于访问我网站的关键字。除了我无法弄清楚如何阅读多个关键字之外,我大部分时间都在工作。

以下是一个可以点击的示例网址:

http://www.example.com/?ccampaign=hydraulic_repair&keyword=hard%20chrome%20plating

它显示在这样的URL栏中(没有%20,只是一个空格)

http://www.example.com/?ccampaign=hydraulic_repair&keyword=hard chrome plating

在我的JS中,ALERT仅警告"硬"而不是"镀硬铬"

var URLkeyword = location.href.match(/keyword=([a-zA-Z0-9_\-]+)/)
alert(URLkeyword);

我尝试了多种变体添加" " (空格),使用\ s,并添加%20,但所有这些似乎完成的是ALERTING" h"或" hard"。

对于我错过的内容有任何建议吗?使用RegEx -_-

不太好

1 个答案:

答案 0 :(得分:1)

捕获keyword值的模式可能是"任何后跟参数分隔符(&)或字符串结尾($)&#的任何内容34;:

keyword=(.*?)(?:&|$)

演示:https://regex101.com/r/urE2pc/1