[英]Remove url param with regex
给定一个url,我正在尝试删除特定的url参数。
例如,如果我有:
http://example.com?foo=bar&baz=boo
我想摆脱foo=bar
并留下:
http://example.com?baz=boo
或者,如果我想删除baz=boo
我会留下:
http://example.com?foo=bar
我正在尝试使用正则表达式以及字符串的replace
函数。
这就是我所拥有的:
// s is "foo"
new RegExp("([&?]+)" + s + "=.*&")
它不适用于以下情况:
http://example.com?foo=bar
因为它与&
不匹配,但我无法弄清楚如何制作正则表达式来处理这两种情况。
([&?]+)foo=.*?(?:&|$)
应该有效。
.*?
解决了贪婪问题。 (?:&|$)
是一个非捕获组。 它匹配一个&
或它匹配行结束(用$
)。 str = str.replace(/(?:\?|&)(foo[^=]*=[^&]+)(?:&|$)/,'');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.