使用正则表达式和python替换HTML标记

时间:2009-09-27 21:49:34

标签: python html regex tags

我有一个Python脚本,它将查看具有以下格式的HTML文件:

<DOC>
<HTML>
...
</HTML>
</DOC>
<DOC>
<HTML>
...
</HTML>
</DOC>

除了使用Python中的正则表达式打开和关闭DOC标记外,如何删除所有HTML标记(用''替换标记)?另外,如果我想保留标签的alt文本,那么正则表达式应该是什么样的?

3 个答案:

答案 0 :(得分:3)

对于你想要实现的目标,我会使用BeautifulSoup而不是正则表达式。

http://www.crummy.com/software/BeautifulSoup/

答案 1 :(得分:2)

查看lxml,这是一个非常好的python库,用于处理xml。您可以使用drop_tag来完成您要查找的内容。

from lxml import html 
h = html.fragment_fromstring('<doc>Hello <b>World!</b></doc>')
h.find('*').drop_tag()
print(html.tostring(h, encoding=unicode))

<doc>Hello World!</doc>

答案 2 :(得分:1)

搜索并替换此正则表达式:搜索:&lt;。*?&gt;替换为:“