Javascript 如何使用正则表达式选择或捕获多个HTML标记?

Javascript 如何使用正则表达式选择或捕获多个HTML标记?,javascript,html,regex,web-scraping,Javascript,Html,Regex,Web Scraping,为了从HTML文档中获取特定的HTML标记及其内容,我使用regex- html- <div id="abc">content</div> <a class="anchorclass">content</a> <table id="table1">content</table> <div id="div2">content</d

为了从HTML文档中获取特定的HTML标记及其内容,我使用regex-

html-

<div id="abc">content</div>
<a class="anchorclass">content</a>
<table id="table1">content</table>
<div id="div2">content</div>
<a class="anchorclass2">content</a>
<div class="divclass">content</div>
内容
所容纳之物
所容纳之物
所容纳之物
所容纳之物
所容纳之物
正则表达式


/
HTML
带有属性的标记,下面是我的解决方案:

// <TAG(.*?)>(.*?)</TAG>
// Example
var regex = new System.Text.RegularExpressions.Regex("<h1(.*?)>(.*?)</h1>");
var m = regex.Match("Hello <h1 style='color: red;'>World</h1> !!");
Console.Write(m.Groups[2].Value); // will print -> World
/(*?)
//范例
var regex=new System.Text.RegularExpressions.regex(“(*?”);
var m=regex.Match(“helloworld!!”);
Console.Write(m.Groups[2].Value);//将打印->世界

如果您已经知道该类/id,可以使用以下选项:

yourHtml='Some more text此处的Some text'
正则表达式=/(.*)/g
while((result=regex.exec(yourHtml))!==null){
console.log(结果[1]);

}
“let regex=/(.*?/”我已经在使用它了,我想知道如何在一个regex表达式中选择多个html标记,例如id=yourID的div和id=yoursecondID的span。我编辑了我的答案。希望这能满足你的需要。但是我真的建议使用
DOMParser
。这在各个方面都是一个更好的解决方案。非常感谢!我只有一个疑问,那个接线员不是一个OR接线员吗?你确定这会得到我在正则表达式中指定的所有html标记吗?或者这只会拾取其中的任何一个?正则表达式本身匹配每一个,但一次只匹配一个
regex.exec()。因此循环确实会遍历每一个表达式。我已经在使用它了,我想知道如何在一个正则表达式中选择多个html标记,例如id=yourID的div和id=yoursecondID的span。请看一下我问题的编辑版本。Regex是错误的工具。使用类似HTML的敏捷包。
// <TAG(.*?)>(.*?)</TAG>
// Example
var regex = new System.Text.RegularExpressions.Regex("<h1(.*?)>(.*?)</h1>");
var m = regex.Match("Hello <h1 style='color: red;'>World</h1> !!");
Console.Write(m.Groups[2].Value); // will print -> World