所以,我得到了一个HTML文件,其中包括一些国家的名称和两个球员从该国。我必须阅读该html文件,并显示国家和球员的名字在一个特定的格式使用正则表达式。你知道吗
HTML代码如下:
<ul>
<li>
Australia
<ol>
<li> Steven smith </li>
<li> David Warner </li>
</ol>
</li>
<li>
Bangladesh
<ol>
<li> Mashrafe Mortaza </li>
<li> Tamim Iqbal </li>
</ol>
</li>
<li>
England
<ol>
<li> Eoin Morgan </li>
<li> Jos Buttler </li>
</ol>
</li>
</ul>
我必须以这种形式展示:
Australia - Steven Smith, David Warner
Bangladesh - Mashrafe Mortaza, Tamim Iqbal
England - Eoin Morgan, Jos Buttler
我试过了,但到目前为止还没有成功。到目前为止我能想到的是:
>> with open("test.html","r") as f:
text = f.read()
>> import re
>> pq = re.findall(r'^<li>\n(.+?)\n\t<ol>\n\t<li>(.+?)</li>\n\t<li>(.+?)
</li>$',text,re.M)
输出如下所示:
[('Australia', ' Steven smith ', ' David Warner '),
('Bangladesh', ' Mashrafe Mortaza ', ' Tamim Iqbal '),
('England', ' Eoin Morgan ', ' Jos Buttler ')]
这不是我想要的。国名似乎不错。但是玩家的名字包含标签。我对正则表达式不太熟悉,我不太清楚在这里该做什么。任何帮助都将不胜感激。你知道吗
您可以结合使用解析器和正则表达式:
这就产生了
相关问题 更多 >
编程相关推荐