2010-01-01 58 views
1

我想从一个网站获取一些信息。我想要的信息是在一个表格中,所以我做了一个正则表达式,但我不知道正确的方法来简化它。重复正则表达式组

以下是我的正则表达式的两个部分,我想简化:

<br>(.*)<br>(.*)<br>(.*) 

<tr><td>(.+)r>(.+)r>(.+)r>(.+).+</td></tr> # This part should be repeated n times(n = 1 to 10) 

我通过Python文档看,我无法知道如何做到这一点。也许你可以给我一个提示。

谢谢, mF。

+1

不要使用HTML的正则表达式!使用HTML解析器。 – 2010-01-01 20:06:26

回答

3

这是错误的路要走,除非你想凑一些数据从一个微小的片段。

如果您使用宽容的HTML,会更好。之前提到的BeautifulSoup是一个很好的,但它停滞不前,我不相信它正在积极维护。

Python强烈推荐的解析器是lxml

在我们的本地邮件列表here之一中,有一个讨论解析XHTML的长话题,您可能会发现它也很有用。

1

,例如:以

(foo...){1,10} 

比赛1那里面有10件事。鉴于你上面的例子,你可以窝那些:

((f..)(b..)){1,10}