如何正则标签id和内容?

作者站长头像
站长
· 阅读数 8
<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个回答
avatar
test
2024-07-02

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]]);
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容