我想替换所有的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/