javascript - 如何匹配 URL 中的特定参数?

标签 javascript regex

我有一个字符串(这是 href 属性的值),如下所示:

var url = '/myweb/search?s=islamic_sources&q=test';

有时它也看起来像这样:

url = '/myweb/search?q=test';
url = '/myweb/search?q=test&g=sth';

Here

^[^?]+.*?&?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/

相关文章:

javascript - 使用变量时转义正则表达式中的方括号?

java - 如何从字符串中获取 ipAddresses 列表?

javascript - 使用 vscode-regex 插件?

regex - 在 bash 中使用正则表达式组

c++ - 正则表达式错误。我的正则表达式有什么问题

javascript - 如何从 AngularJS 指令调用 Android 方法?

javascript - 未捕获( promise ): Error: Cannot read property of undefined

javascript - IE 的问题,它从 $ ("#content").text() 中删除了新行

javascript - 使用javascript将contentEditable保存到html文件中

javascript - HTML 5 : remove colour from canvas at mouse click position