代码之家  ›  专栏  ›  技术社区  ›  Umesh K

用多个正则表达式拆分Python字符串

  •  0
  • Umesh K  · 技术社区  · 14 年前

    嗨,我有Python字符串,如下所示:

    <html><table border = 1><tr><td>JDICOM</td><td>Thu Sep 16 10:13:34 CDT 2010</td></tr></html>
    

    从上面的字符串我对两个单词感兴趣

    JDICOM
    Thu Sep 16 10:13:34 CDT 2010
    

    我试过了 find findall , split 但由于有多个正则表达式,它没有起到任何作用。

    我对蟒蛇很陌生。如果有人知道,请帮忙。

    1 回复  |  直到 14 年前
        1
  •  4
  •   Manoj Govindan    14 年前

    法定警告: 不要使用正则表达式来解析(X)HTML。您最好使用解析器,例如 BeautifulSoup .

    例如。

    >>> from BeautifulSoup import BeautifulSoup
    >>> html = """<html><table border = 1><tr><td>JDICOM</td><td>Thu Sep 16 10:13:34 CDT 2010</td></tr></html>"""
    >>> soup = BeautifulSoup(html)
    >>> for each in soup.findAll(name = 'td'):
     print each.contents[0]
    
    
    JDICOM
    Thu Sep 16 10:13:34 CDT 2010
    >>> 
    

    >>> import re
    >>> pattern = re.compile('<td>(.*?)</td>', re.I | re.S)
    >>> for each in pattern.findall(html):
     print each
    
    
    JDICOM
    Thu Sep 16 10:13:34 CDT 2010
    >>>