正则如何匹配以下description标签?

在网站使用中碰到了一个
<meta name="Description" translate translate-attr-content="C5002" content="XXXXXX" />
这样的description标签,由于中间有个translate-attr-content="C5002",导致后面的content="XXXXXX"匹配不到。
这种情况用正则应该如何匹配到后面的content="XXXXXX"??

阅读 2.4k
1 个回答
function demo (str) {
  let res = [], val;
  str.replace(/<meta[^/>]+\/>/g, item => {
    item.replace(/ content=[^ ]*/, c => {
      val = c.replace('content=', '')
      val = val.trim().substring(1, val.length-2)
      res.push(val)
    })
  })
  return res
}

var data = `哈哈哈<meta name="Description" translate translate-attr-content="C5002" content="XXXXXX" /><div>1</div><meta name="Description" translate translate-attr-content="xxsw" content="测试2" />`

console.log(demo(data)) // =>  ["XXXXXX", "测试2"]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题