仅从 HTML 字符串中删除出现在特定模式之后的字符

Remove characters from HTML string only if they appear after specific pattern

所以,我试图 google 我的问题,但我找不到满意的答案。我编写了一个用于解析 HTML 电子邮件的程序。直到现在它都可以正常工作,但我想 Outlook 协议中已经更新了一些东西。但是,现在,在提取电子邮件的 HTML 内容时,除了 style 标签外,一切正常。

style 标签之后的所有内容都出于某种原因自动转义。例如像这样: <span style=\'color:red; background:yellow; mso-highlight:yellow\'><span style=\'background:yellow;mso-highlight:yellow\'> 请注意样式 ' 标记是如何由于某种原因被转义的?这导致我的软件出现问题,并使其崩溃。我真的不需要这些转义标记,想摆脱它们。

所以现在我的问题是,如何只删除(如果可能)这些特定位置的标记?所以只在 style= 之后,也在样式 属性 的末尾,就在 '> 之前。非常感谢所有帮助,我完全不知道如何进行。我真的不想删除所有的反斜杠,所以真正需要转义的东西都不会转义。

提前致谢!

一个简单的正则表达式应该可以工作:

import re

text = re.sub(r"style=\'(.*)\'", r"style=''", raw_text)