javascript-HTML解析中的正则表达式

javascript-HTML解析中的正则表达式,javascript,regex,Javascript,Regex,我需要一些关于js中正则表达式的建议 我有一根绳子 var page = '<html attribute1="<test1>" test2 attribute2="test2"></html>'; var页面=”; 我正试着去拿碎片 <html attribute1="<test1>" test2 attribute2="test2"> 但我的代码是: page.match(/<.*?>/); page.mat

我需要一些关于js中正则表达式的建议

我有一根绳子

var page = '<html attribute1="<test1>" test2 attribute2="test2"></html>';
var页面=”;
我正试着去拿碎片

<html attribute1="<test1>" test2 attribute2="test2">

但我的代码是:

page.match(/<.*?>/);
page.match(//);
只返回第一次出现的“>”字符,因此

<html attribute1="<test1>

“出现在引号之间?请帮助我,对不起我的英语;)

您可以试试这个正则表达式:

^<(?:"[^"]*"|[^>])+>

您可以尝试此
page.match(/
page.match(/\(?=解析类似的东西需要比正则表达式提供的解析机制更强大的解析机制。你可以捏造一些黑客来处理受限情况,但你这里的例子很好地说明了这一困难。请参考以下内容:浏览器制造商花了数月时间编写查询选择器、DOM遍历、数据属性和计数ss其他功能…这就是人们选择设计东西的方式?你到底想解决什么?为什么你需要这个
html
标记?更大的问题是什么?为什么属性中有尖括号?那不对…我会试试。谢谢。@user1974304好的,让我知道它是怎么回事:)
^<(?:"[^"]*"|'[^']*'|[^>])+>