content='<tr><td style="text-align:center;" height="30">12090043</td>'+\
'<td style="text-align:left;">CourseA</td>'+\
'<td style="text-align:center;">3</td>'+\
'<td style="text-align:left;">86</td><td>2013-Summer</td></tr>'+\
'<tr><td style="text-align:center;" height="30">10420844</td>'+\
'<td style="text-align:left;">CourseB</td>'+\
'<td style="text-align:center;">4</td>'+\
'<td style="text-align:left;">98</td><td>2013-Autumn</td></tr>'
pattern=re.compile('<tr>.*"30">(.*)</td>.*"text-align:left;">(.*)</td>.*"text-align:center;">(.*)</td>.*"text-align:left;">(.*)</td><td>(.*)</td></tr>')
items=re.findall(pattern,content)
print items
[('10420844', 'courseB', '4', '98', '2013-Autumn')]
但该预期的结果:
[('12090043', 'courseA', '3', '86', '2013-Summer'),('10420844', 'courseB', '4', '98', '2013-Autumn')]
其实这个代码只返回了最后一场比赛,如果有超过2场比赛。谁能告诉我为什么会发生这种情况?对不起长码,并提前致谢!
不,不要使用RegEx解析HTML。 –
随着凯文说 - [读这篇着名的文章](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) –
谢谢。那么我应该怎么做才能找到所有的比赛?其实我可以将HTML转换为str,所以我仍然想知道这里有什么问题。 – Simon