js正则搜索img标签并替换src值

第一种用函数更灵活
const html = '<img src="image1.jpg" data-a="aa"><img src="image22.jpg" data-a="a2a"><p>Some text with no image</p><img src="i23mage3.jpg"  1  >';

const regex = /(<img.*?src=")(.*?)(".*?>)/g; //用于匹配<img>标签中的src属性的正则表达式
const matches = html.match(regex); //使用match()方法获取匹配结果

var res=html.replace(regex,function(a,b,c,d){
    //a是整体
    //b是第一个分组
    //c是第二个分组
    //d是第三个分组
    if(c.startsWith('image')){
        return b+'嘎嘎'+c+d
    }
    return a
})

console.log(res); //输出<img src="嘎嘎image1.jpg" data-a="aa"><img src="嘎嘎image22.jpg" data-a="a2a"><p>Some text with no image</p><img src="i23mage3.jpg"  1  >
第二种字符串拼接
const html = '<img src="image1.jpg" data-a="aa"><img src="image22.jpg" data-a="a2a"><p>Some text with no image</p><img src="i23mage3.jpg"  1  >';

const regex = /(<img.*?src=")(.*?)(".*?>)/g; //用于匹配<img>标签中的src属性的正则表达式
const matches = html.match(regex); //使用match()方法获取匹配结果



var sources = matches.map(match => match.replace(regex, '$2')); //$序号从1开始,$1为第一个分组
var sources = matches.map(match => match.replace(regex, '$1$2'+'好$3')); //


console.log(sources)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值