在 Atom IDE 中,一次找到 < 和 > 并分别替换为 > 和 <?
In Atom IDE, find and replace < and > with > and < respectively in one go?
我有很多 html 页面,其中有些部分我必须用它们的 HTML 实体版本替换所有 <
和 >
标志, <
和 >
。我将手动 select 页面中的所有部分,然后让 RegExp 找到这两个标志并一次性替换它们。我已经试验了几个小时,但没有运气。
(<)[a-z,A-Z,0-9,\s,",",=,-]+(>)
我有这个 select 整行,当我用 $1 和 $2 进行反向引用时,整行被替换。
什么是:
<span class="avatar2-default bg-dark rounded-circle">
<a href="">Hello</a>
<input type="text">
</span>
需要什么(实体可能不匹配,但这就是意图):
<span class="avatar2-default bg-dark rounded-circle"&t;
<a href=""<Hello</a>
<input type="text">
</span>
我猜应该有一些图书馆可以这样做。
如果不是,用正则表达式来完成这件事会相当复杂,也许可以尝试在特定标签上测试多个正则表达式,其中一些表达式如下所示:
(?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|...)
DEMO
该表达式在 regex101.com, if you wish to explore/simplify/modify it, and in this link 的右上面板进行了解释,如果您愿意,您可以观察它如何与一些示例输入匹配。
正则表达式电路
jex.im 可视化正则表达式:
边缘案例:
一个问题出现在表达式的 [^>]*
部分,它会在 such instances
中失败
我有很多 html 页面,其中有些部分我必须用它们的 HTML 实体版本替换所有 <
和 >
标志, <
和 >
。我将手动 select 页面中的所有部分,然后让 RegExp 找到这两个标志并一次性替换它们。我已经试验了几个小时,但没有运气。
(<)[a-z,A-Z,0-9,\s,",",=,-]+(>)
我有这个 select 整行,当我用 $1 和 $2 进行反向引用时,整行被替换。
什么是:
<span class="avatar2-default bg-dark rounded-circle">
<a href="">Hello</a>
<input type="text">
</span>
需要什么(实体可能不匹配,但这就是意图):
<span class="avatar2-default bg-dark rounded-circle"&t;
<a href=""<Hello</a>
<input type="text">
</span>
我猜应该有一些图书馆可以这样做。
如果不是,用正则表达式来完成这件事会相当复杂,也许可以尝试在特定标签上测试多个正则表达式,其中一些表达式如下所示:
(?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|...)
DEMO
该表达式在 regex101.com, if you wish to explore/simplify/modify it, and in this link 的右上面板进行了解释,如果您愿意,您可以观察它如何与一些示例输入匹配。
正则表达式电路
jex.im 可视化正则表达式:
边缘案例:
一个问题出现在表达式的 [^>]*
部分,它会在 such instances