如果属性值可能具有“>”,则使用JavaScript Regex匹配所有html标记字符

时间:2016-12-04 07:27:25

标签: javascript html regex

我希望将字符串中的所有html标记与RegEx /<[^>]*>/g

匹配

但有些标签的属性为“&gt;”在<div :if="x > 1">等值中,结果只能获得<div :if="x>

如何修改RegEx以解决此问题?

实际上,我不需要匹配所有真正有效的html标签。我只需要将所有<***>与'&gt;'匹配不得引用。

1 个答案:

答案 0 :(得分:1)

如果你有解析的HTML,你可以使用document.querySelectorAll的css选择器来执行为你找到元素的操作。

'[\\:if*=\\>]'使用转义字符\\您可以直接搜索标记名:if,使用*=选择器可以找到>(已转义)属性值的任何位置。

我和@JonathanLowowski就此而言。属性名称:if看起来不正确,可能会在IE中失败。但它看起来像没有命名空间的命名空间属性。

const elements = document.querySelectorAll('[\\:if*=\\>]')

console.log(elements)
<div :if="x > 1"></div>
<div :if="x"></div>