js 写一个正则 提取文本中的数据

我有这样的一个文本:

<p>sdsadsad</p><p><img src="/Edite/net/upload/image/20170701/6363450829304727881702482.jpg" title="ewe.jpg" alt="ewe.jpg"/><img src="/Edite/net/upload/image/20170701/6363450829304727881702483.jpg" title="ewe.jpg" alt="ewe.jpg"/></p>

用js 写正则提取里面所有img标签的src值的一部分,然后将提取到的多个值/@/拼接成一个新的字符串

20170701/6363450829304727881702482.jpg/@/20170701/6363450829304727881702483.jpg
阅读 7.7k
2 个回答
var html = '<p>sdsadsad</p><p><img src="/Edite/net/upload/image/20170701/6363450829304727881702482.jpg" title="ewe.jpg" alt="ewe.jpg"/><img src="/Edite/net/upload/image/20170701/6363450829304727881702483.jpg" title="ewe.jpg" alt="ewe.jpg"/></p>';

var txt = html
    .match(/src="([^"]*?)"/g)
    .map(m => m.replace(/^src="\/Edite\/net\/upload\/image\/([^"]*)"$/, '$1'))
    .join('/@/');

console.log(txt);

效果:
clipboard.png

const html = `<p>sdsadsad</p><p><img src="/Edite/net/upload/image/20170701/6363450829304727881702482.jpg" title="ewe.jpg" alt="ewe.jpg"/><img src="/Edite/net/upload/image/20170701/6363450829304727881702483.jpg" title="ewe.jpg" alt="ewe.jpg"/></p>`;
console.log(html.match(/src="([^"]*?)"/g).map(m => m.replace('src="/Edite/net/upload/image/', '').replace(/"/g, '')).join('/@/'))

在线体验

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