javascript string regex替换引号之间的字符串

标签 javascript html regex

我想替换所有的src HTML 字符串中的属性在 url 末尾添加“?a”以修复我遇到的缓存问题。

到目前为止我得到了这个:

str.replace(/src=".*?"/gi, "src");

但我不知道如何执行第二个参数来获取匹配的内容并在末尾添加 '?a'。

例子:

<img src="mysite.com/logo.png" />应该变成

<img src="mysite.com/logo.png?a" />

提前谢谢你,丹尼尔!

最佳答案

第一个问题是您要匹配整个 src 属性,而不是 src 属性中的内容。

第二个问题是您没有将匹配项放入替换项中。

这将是正确的正则表达式:

str.replace(/src="(.*?)"/gi, 'src="$1?a"')/;

在匹配 .*? 周围添加方括号可确保只匹配该部分而不是整个正则表达式,将 $1 添加到第二个参数可确保匹配回到替代品。

您还必须在替换中重新输入 src="",因为整个正则表达式匹配将被替换。

关于javascript string regex替换引号之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200784/

相关文章:

javascript - 是否可以将东西存储在 MVC Controller 中?

c# - 将 Json 数据打印为 Html 表

java - 正则表达式匹配斜杠的精确数量

javascript - 在 "start/stop"计时器中检索 localStorage 数据

javascript - 在元标记中包含我需要在 javascript 中提取的信息

javascript - 仅使用 JavaScript 使用自定义标签

Php 图片上传不工作

javascript - 隐藏 facebook like box IFRAME 组件

regex - 查找所有出现的字符串(最后一个找到的除外)并将其删除

C# 正则表达式 : How to break up plain text string