基本上,我想做“zipzam&&&?&&&?&&&”->“zipzam%26%26%26?&&&?&&&”。没有正则表达式,我可以通过多种不同的方式来做到这一点,但是如果我可以使用正则表达式来做到这一点,它会清理一些东西。
谢谢
编辑:“zip=zam&&&=?&&&?&&&”->“zip=zam%26%26%26=?&&&?&&&”应该会让事情变得更清晰。
编辑:“zip=zam=&=&=&=?&&&?&&&”->“zip=zam=%26=%26=%26=?&&&?&&&”应该让事情变得更清楚。
但是,这些只是示例。我仍然想替换第一个“?”之前的所有“&”无论第一个 '?' 之前的 '&' 位于何处并且无论“&”是否连续。
最佳答案
这应该可以做到:
"zip=zam=&=&=&=?&&&?&&&".replace(/^[^?]+/, function(match) { return match.replace(/&/g, "%26"); });
关于javascript - 正则表达式匹配第一个 '&' 之前的所有 '?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/479716/