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

时间:2018-08-06 10:45:05

标签: python string email mime

因此,我尝试用Google搜索我的问题,但找不到满意的答案。我已经编写了一个用于解析HTML电子邮件的程序。到目前为止,它一直都可以正常工作,但是我猜想Outlook协议中已对某些内容进行了更新。但是,现在,提取电子邮件的HTML内容时,除style标记外,其他所有东西都可以正常工作。

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

一个简单的正则表达式应该起作用:

import re

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