代码之家  ›  专栏  ›  技术社区  ›  Yin Zhu

如何将此正则表达式转换为python

  •  0
  • Yin Zhu  · 技术社区  · 14 年前

    我想在python中使用这个正则表达式:

     <(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>
    

    (从 RegEx match open tags except XHTML self-contained tags )

    def removeHtmlTags(page):
        p = re.compile(r'XXXX')
        return p.sub('', page)
    

    似乎我不能直接将复杂的正则表达式替换成上面的函数。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Ignacio Vazquez-Abrams    14 年前

    在这里工作很好。你可能因为引用而遇到麻烦。只需三次引用:

    def removeHtmlTags(page):
        p = re.compile(r'''<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>''')
        return p.sub('', page)
    
        2
  •  0
  •   mcrisc    14 年前

    如果需要删除HTML标记,应该这样做:

    import re
    
    def removeHtmlTags(page):
        pattern = re.compile(r'\<[^>]+\>', re.I)
        return pattern.sub('', page)