javascript - 正则表达式/Javascript 帮助 - 搜索 URL 术语解析

标签 javascript regex parsing

我正在构建一个“关键字”突出显示脚本,我需要编写一个正则表达式来解析以下网址,以找到要突出显示的搜索关键字。

我对正则表达式真的很不好,所以我希望有人能提供帮助。

我们的搜索字符串使用“skw”作为参数,使用“%2c”(逗号)分隔术语,“+”表示空格。

示例网址:

http://[url].com/Search.aspx?skw=term1 http://[url].com/Search.aspx?skw=term1%2c+term2

是否有一个我可以使用的正则表达式会给我一个看起来像这样的集合?

var "http://[url].com/Search.aspx?skw=term+one%2c+term2".match([Expression]);

matches[0] = "term one"
matches[1] = "term2"

谢谢!非常感谢任何帮助。

最佳答案

您无法通过单个匹配来完成此操作,但可以通过匹配、替换和拆分来完成此操作:

url.match(/\?(?:.*&)?skw=([^&]*)/)[1].replace(/\+/g, " ").split('%2c')

您可能希望单独进行匹配,并在匹配失败时退出(如果您的 URL 没有 skw 参数,则可能会出现这种情况)。

您可能确实也想执行转义,以处理查询中的其他转义字符:

unescape(url.match(/\?(?:.*&)?skw=([^&]*)/)[1].replace(/\+/g, " ")).split(',')

关于javascript - 正则表达式/Javascript 帮助 - 搜索 URL 术语解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1120866/

相关文章:

javascript - Aurelia 未正确转译 Set 和 Spread 运算符

javascript - 如何计算两个日期之间的年份和剩余天数

javascript - jquery 在子级中查找顶级表

javascript - 从 url 中删除所有空值

javascript 正则表达式模式匹配 css 选择器

javascript - jquery 追加大量 html(出现 "unterminated string literal"或 "bad escape"错误)

python - 我的常规句子有什么问题?

java - 以线程安全方式格式化日期抛出 java.text.ParseException :

JavaScript 十六进制字符串到 IEEE-754 浮点

sql - TSQL 如何在解析行时遍历行?