javascript - 尝试使用 Javascript 正则表达式获取一段 "&"分隔文本,无论它是否是最后一个值

标签 javascript regex

我的文字看起来与此类似:

action=addItem&siteId=4&lang_locale=en_US&country=US&catalogId=1&productId=417689&displaySize=7&skuSize=2194171&qty=1&pil=7&psh=had+AIRJRnjbp7+rGivIKg00

我想替换“psh”的值。它有时可能不是最后一个值(它后面可能跟有 &something=else)。

我试过执行这些代码行:

  1. var text = text.replace(/&psh=.*(?=&|$)/, "&psh="+ data.psh);
  2. var text = text.replace(/&psh=.*(?=[&|$]+)/, "&psh="+ data.psh);
  3. var text = text.replace(/(?:&psh=)(.*)(?=[&|$]+)/, data.psh);

它们都不适用于这两种情况。使用 this site检查正则表达式。

最佳答案

这应该有效:

var text = text.replace(/&psh=[^&]*/, "&psh=" + data.psh);

[^&]* 匹配由除 & 以外的任何字符组成的任意长度的字符串,因此匹配将一直持续到字符串结尾或直到 (但不包括)下一个 &,以先到者为准。

关于javascript - 尝试使用 Javascript 正则表达式获取一段 "&"分隔文本,无论它是否是最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334288/

相关文章:

python - 两个字符串之间最长匹配序列的正则表达式

javascript - 使用 Angular.js 查找正在进行的 http get 请求的下载状态

javascript - Minimongo无法在客户端进行集合排序

javascript - AJAX 在页面加载之前运行 onchange 事件

Java REGEX - 无法删除标签内的内容

php替换双反斜杠组

javascript - 来自 Mongoose 的类型错误

javascript - 将值从 php 回显到 javascript

java - 正则表达式查找两个选项卡之间的文本(java pattens)

java - 从文件中拆分字符串