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

时间:2010-09-16 10:17:14

标签: python html regex

您好我有Python String,如下所示:

<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

我尝试了findfindallsplit,但由于多个正则表达式,它没有帮助。

我对python很新。如果有人知道请帮助。

1 个答案:

答案 0 :(得分:4)

法定警告:不要使用正则表达式来解析(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
>>>