我有一个搜索查询,试图从中提取搜索词,但是正则表达式不能完全按照我的要求工作。
我有两个查询:
首先:
?search=mango+pineapple+banana&filter=fruit+berry
第二:
?search=mango
我正在尝试提取“ search =”和&或字符串末尾之间的URL。当字符串中的“&”位于字符串中时,获取字符串就像一个超级按钮一样,但是如果不是这样,我希望它捕获到字符串的末尾。
正则表达式
searchterms = url.match(/\?search=(.*?)&|$/);
我使用的正则表达式在URL中没有“&”号时返回未定义。一直在尝试使用不同的捕获组,但我无法使其正常工作。知道我在做什么错吗?
编辑:它实际上与This link并不相同。我尝试使用在链接中调整的正则表达式,例如:url.match(/(&|\?search=).*?(&|$)/)
,但是捕获的只是"?search="
,而不是后面的字符串。