我有大量的html页面,其中有些部分必须用其HTML实体版本<
和{{1}替换所有>
和<
标志}。我将手动选择页面中的所有部分,然后让RegExp查找这两个标志,并一口气替换它们。我已经尝试了几个小时,但是没有运气。
>
我有这个选择整个行,当我用$ 1和$ 2进行反向引用时,整个行将被替换。
什么是
(<)[a-z,A-Z,0-9,\s,",",=,-]+(>)
需要什么(实体可能不匹配,但这只是出于意图):
<span class="avatar2-default bg-dark rounded-circle">
<a href="">Hello</a>
<input type="text">
</span>
答案 0 :(得分:1)
我猜测应该有一些库可能这样做。
如果不是这样,使用正则表达式将相当复杂,也许可以尝试在特定标签上测试多个正则表达式,其中某些表达式如下所示:
(?i)<(\/?\b(?:span|a|input|div|i|b|s|u|br|li|ul|ol|small|img|body|html|head|h[1-6]|title|em)\b[^>]*)>
,我们期望的元素将使用逻辑OR进入这个非捕获组:
(?:span|...)
该表达式在regex101.com的右上角进行了解释,如果您想探索/简化/修改它,在this link中,您可以观察到它如何与某些示例输入匹配,如果你喜欢。
jex.im可视化正则表达式:
一个问题可能在表达式的[^>]*
部分,而在such instances中将失败