javascript - 正则表达式匹配第一个 '&' 之前的所有 '?'

标签 javascript regex

基本上,我想做“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/

相关文章:

javascript - 在 iOS Safari 上禁用滚轮选择器?

javascript - 当目的地很远时如何获得平滑的谷歌地图 panTo()

regex - 如何使用 sed 在每个连续管道之间添加空格

.net - 正则表达式帮助,解析为 NameValueCollection

正则表达式 4-6 位以 00 结尾,但最小值为 5000

javascript - 使用 md-tab (css) 的类似标签的浏览器

javascript - 如果发布请求成功则关闭对话框

javascript - 如何将 IRL 变量传递给 JavaScript

javascript - 如果字符串不包含任何数字,如何将其转换为 0?

JavaScript、RegEx - 如何获取实际找到的字符串