div content 输出应该是: class2">div content 正则表达式应该可以识别erb-6ren">
gpt4 book ai didi

ruby - 每行一个html标签的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 18:00:15 25 4
gpt4 key购买 nike

出于某种原因,我必须每行有一个 HTML 标记。因此,如果以下是输入:

<p><div class="class1 <%= "class3" %>class2">div content</div></p>

输出应该是:

<p>
<div class="class1 <%= "class3" %>class2">div content
</div>
</p>

正则表达式应该可以识别erb脚本标签和HTML标签的区别。不需要缩进。

这如何通过正则表达式完成?

最佳答案

你可以替换(?=<[\w/])\n .这是一个与 < 之前的位置匹配的 lookahed符号,后面跟一个字母或斜线。 (另一个选项是 (?=<(?!%)) )。

这适用于您发布的代码,但在很多情况下都失败了,名义上是 <在属性中,或 <在服务器端脚本和 JavaScript block 中。如果您需要更复杂的东西,您可能需要更强大的解决方案,例如 erb 解析器。

关于ruby - 每行一个html标签的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com