js正则匹配出span里的img中的src值啊

<span data-v-19af1fd2="" contenteditable="false" class="face-box"><img data-v-19af1fd2="" src="/static/img/emoji/2.gif" width="100%" height="100%"></span>

我需要获取到img的src地址 正则改怎么写?

阅读 3.6k
5 个回答
var str = '<span data-v-19af1fd2="" contenteditable="false" class="face-box"><img data-v-19af1fd2="" src="/static/img/emoji/2.gif" width="100%" height="100%"></span>';
var a = str.match('(?<=src=").[^"]*')
console.log(a[0]) // /static/img/emoji/2.gif
<img [^>]*src="([^"]+)"

let str="<span data-v-19af1fd2="" contenteditable="false" class="face-box"><img data-v-19af1fd2="" src="/static/img/emoji/2.gif" width="100%" height="100%"></span>"
let imgUrl = str.split('src="')[1].split('"')[0]

var span = '<span data-v-19af1fd2="" contenteditable="false" class="face-box"><img data-v-19af1fd2="" src="/static/img/emoji/2.gif" width="100%" height="100%"></span>';
var srcRe = /[ ]+src\=\"([^"]*)\"/;
if (srcRe.test(span)) {
    var src = RegExp.$1;
    console.log(src);
}

为什么一定要用正则表达式呢,DOMParser 更适合吧

const parser = new DOMParser();

const html = '<span data-v-19af1fd2="" contenteditable="false" class="face-box"><img data-v-19af1fd2="" src="/static/img/emoji/2.gif" width="100%" height="100%"></span>';

const doc = parser.parseFromString(html, "text/html");

const src = doc.querySelector("img")?.src;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题