字符或字符串末尾之间的JS Regex捕获

时间:2018-10-15 12:57:27

标签: javascript regex match ampersand

我有一个搜索查询,试图从中提取搜索词,但是正则表达式不能完全按照我的要求工作。

我有两个查询:
首先:

?search=mango+pineapple+banana&filter=fruit+berry

第二:

?search=mango

我正在尝试提取“ search =”和&或字符串末尾之间的URL。当字符串中的“&”位于字符串中时,获取字符串就像一个超级按钮一样,但是如果不是这样,我希望它捕获到字符串的末尾。

正则表达式

searchterms = url.match(/\?search=(.*?)&|$/);

我使用的正则表达式在URL中没有“&”号时返回未定义。一直在尝试使用不同的捕获组,但我无法使其正常工作。知道我在做什么错吗?

编辑:它实际上与This link并不相同。我尝试使用在链接中调整的正则表达式,例如:url.match(/(&|\?search=).*?(&|$)/),但是捕获的只是"?search=",而不是后面的字符串。

0 个答案:

没有答案