如何正则标签id和内容?

<span id="aa">123</span>
<span class="bc">0000.</span>
<span id="bc">456.</span>
<span id="de">789..</span>
<span id="fg">aaaa..</span>
var regc = /<span id=\"([a-z])\">(.+)<\/span>/;

这里却只匹配出 id 属性
期望能匹配出带 id 的标签内容与 id 名

[id名,标签内容]
阅读 1.9k
2 个回答

var regc = /<span id="([a-z]+)">([^<]+)<\/span>/g;


var str = `
<span id="aa">123</span>
<span class="bc">0000.</span>
<span id="bc">456.</span>
<span id="de">789..</span>
<span id="fg">aaaa..</span>
`;

var match;
while ((match = regc.exec(str)) !== null) {
  console.log([match[1], match[2]]);
}

// 或者
for (const match of str.matchAll(regc)) {
  console.log([match[1], match[2]]);
}
  let str = '<span id="aa">123</span>';
  let regex = /<span id="([^"]+)">([^<]+)<\/span>/;
  let match = regex.exec(str);

  if (match !== null) {
    let id = match[1];
    let content = match[2];
    console.log([id, content]); // 输出 ["aa", "123"]
  } else {
    console.log("未匹配到对应的元素");
  }

image.png

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