我有一个字符串(这是href属性的值),如下所示:
var url = '/myweb/search?s=islamic_sources&q=test';
有时候看起来像这样:
url = '/myweb/search?q=test';
url = '/myweb/search?q=test&g=sth';
^[^?]+.*?&?q=([^$|&]+)
是我到目前为止所尝试的内容,我需要在这三行中匹配test
。但遗憾的是$
似乎并不代表我的模式中的行尾。我该如何解决?
答案 0 :(得分:0)
您可以简单地使用:
url.match(/q=([^&]*)/)
这将返回一个数组。如果不为空,test
将位于索引1。
var url1 = '/myweb/search?s=islamic_sources&q=test';
var url2 = '/myweb/search?q=test';
var url3 = '/myweb/search?q=test&g=sth';
console.log(url1.match(/q=([^&]*)/)[1]);
console.log(url2.match(/q=([^&]*)/)[1]);
console.log(url3.match(/q=([^&]*)/)[1]);
答案 1 :(得分:0)
正则表达式为Double
并在TypeToken
中执行,然后进行第一场比赛,将其拆分为/q=[^&]+/
,然后进行第二部分。
我在下面创建了它。
url