【问题标题】:HTML tag replacement using regex and python使用正则表达式和 python 替换 HTML 标签
【发布时间】:2009-09-28 11:11:57
【问题描述】:

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

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

除了在 Python 中使用正则表达式的开始和结束 DOC 标记之外,如何删除所有 HTML 标记(将标记替换为 '')?另外,如果我想保留标签的替代文本,正则表达式应该是什么样的?

【问题讨论】:

  • 您应该使用 DOM 解析器,而不是正则表达式。见docs.python.org/library/xml.dom.html
  • 您能更具体地说明您要删除的内容吗?
  • 我想删除除了 和 标签之外的所有标签。
  • “html”是一个假设的元素名称,而不是真正的“html”吗?

标签: python html regex tags


【解决方案1】:

对于您要完成的任务,我会使用 BeautifulSoup 而不是正则表达式。

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

【讨论】:

    【解决方案2】:

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

    从 lxml 导入 html h = html.fragment_fromstring('Hello World!') h.find('*').drop_tag() 打印(html.tostring(h,编码=unicode)) 你好世界!

    【讨论】:

      【解决方案3】:

      用这个正则表达式搜索和替换:搜索:<.> 替换为:"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-25
        • 1970-01-01
        • 1970-01-01
        • 2011-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        相关资源
        最近更新 更多