跳过正则表达式模式中的HTML标记

Key*_*upt 0 python regex

我正在尝试编写一个正则表达式模式(在python中)来重新格式化这些模板引擎文件.

基本上这个计划看起来像这样:

[$$price$$]
{
    <h3 class="price">
    $12.99
    </h3>
}
Run Code Online (Sandbox Code Playgroud)

我试图删除任何额外的制表符\空格\新行,所以它应该是这样的:

[$$price$$]{<h3 class="price">$12.99</h3>}
Run Code Online (Sandbox Code Playgroud)

我写了这个:(\ t |\s)+?除了在html标签内匹配之外,它有效,所以h3变成h3class,我无法弄清楚如何让它忽略标签内的任何东西.

Cha*_*ffy 5

使用正则表达式处理HTML非常容易出错; 他们根本不是正确的工具.

相反,使用HTML/XML感知库(如lxml)来构建DOM样式的对象树; 在原地修改树中的文本段,并使用所述库再次生成输出.