正则表达式:用其alt属性替换img标记

时间:2016-05-03 14:00:00

标签: regex text tags

我在变量frontendtext中有一个包含text和img标签的字符串。我希望其中的img标签仅使用正则表达式替换为alt属性值。

var frontend1 = frontendtext.replace(/<img.*?alt="(.*?)".*>/g, 'O');

它用O替换我的字符串,但我想用alt替换img标签,其余的字符串保持不变。

1 个答案:

答案 0 :(得分:4)

通过使用捕获组,您可以使用捕获组引用

替换整个字符串

&#13;
&#13;
var frontendtext = "Hello this is an image <img src=\"image.jpg\" alt=\"!!Just some image alt text!!\" /> and foo bar.";
var frontend1 = frontendtext.replace(/<img.*?alt="(.*?)"[^\>]+>/g, '$1');
alert(frontend1);
&#13;
&#13;
&#13;

https://jsfiddle.net/yoqkdapa/

正则表达式是;

<img - 匹配<img代码

.*?alt= - 匹配alt属性

之前的所有内容

"(.*?)" - 匹配alt标记

后引号之间的所有内容

[^\>]+ - 除了>标记的结束<img之外,其他所有内容都匹配

> - 匹配<img代码的结尾