用于提取标签属性的正则表达式

时间:2019-04-20 17:54:45

标签: javascript regex

说,我有一个类似

的字符串
<body class="body-element" style="background: red;"><div class="inner">...</div></body>

我想提取body标签的所有属性。至于jQuery解析忽略body标签,我不能使用它。那么,如何使用正则表达式呢?

我只需要从body标签提取属性即可。

2 个答案:

答案 0 :(得分:4)

使用DOMParser,获取.body,然后获取其.attributes

var s = '<body class="body-element" style="background: red;"><div>...</div></body>';

var attrs = new DOMParser().parseFromString(s, "text/html").body.attributes;

for (const a of attrs) console.log("%s = %s", a.name, a.value);

答案 1 :(得分:0)

This RegEx可以帮助您将输入的HTML字符串分为两组并获得所需的属性:

([a-z]+)="([A-Za-z0-9_\-\:\s;]+)

如有必要,您可以将其他字符添加到[A-Za-z0-9_\-\:\s;]中。

enter image description here