我想根据正则表达式选择html属性。 Follwing是基于以下HTML标记的正则表达式匹配的字符串。
colspan="2"
bgcolor="#FFFFFF"
height="28"
psdtyle="font-stretch: normal; font-size: 12px; line-height: 1.5;"
align="center"
style="word-wrap: break-word; margin: 5px 0px;"
size="2"
((\ w +)=“[a-zA-Z# - :0-9;] *”)
现在真正的问题是我想排除colspan,即colspan =“2”不应该匹配。
<td colspan="2" bgcolor="#FFFFFF" height="28" psdtyle="font-stretch: normal; font-size: 12px; line-height: 1.5;">
<p align="center" style="word-wrap: break-word; margin: 5px 0px;"><font size="2">Shoulder</font></p>
</td
答案 0 :(得分:3)
您可以在attributes
循环中迭代元素for
,使用if
条件排除colspan
属性
var td = document.querySelector("tr td");
var attrs = td.attributes;
for (var i = 0; i < attrs.length; i++) {
if (attrs[i].name !== "colspan")
console.log(attrs[i].name, attrs[i].value)
}
<table>
<tr>
<td colspan="2" bgcolor="#FFFFFF" height="28" psdtyle="font-stretch: normal; font-size: 12px; line-height: 1.5;">
<p align="center" style="word-wrap: break-word; margin: 5px 0px;"><font size="2">Shoulder</font></p>
</td>
</tr>
</table>
答案 1 :(得分:1)
我认为这应该可以解决问题:
((\b(?!colspan\b)(\w+))\s?=\s?["'][a-zA-Z#-:0-9 ;]*["'])