我有一个字符串(这是 href 属性的值),如下所示:
var url = '/myweb/search?s=islamic_sources&q=test';
有时它也看起来像这样:
url = '/myweb/search?q=test';
url = '/myweb/search?q=test&g=sth';
^[^?]+.*?&?q=([^$|&]+)
是我到目前为止所尝试过的,我需要匹配 test
在这三行中。但可悲的是$
并不意味着我的模式中的行结束。我该如何修复它?
最佳答案
您可以简单地使用:
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]);
关于javascript - 如何匹配 URL 中的特定参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43046182/