您好我有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
我尝试了find
,findall
,split
,但由于多个正则表达式,它没有帮助。
我对python很新。如果有人知道请帮助。
答案 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
>>>