重复正则表达式组

时间:2010-01-01 20:04:04

标签: python html regex

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

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

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

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

我查看了python文档,但我无法实现如何操作。也许你可以给我一个提示。

谢谢你, μF的。

3 个答案:

答案 0 :(得分:3)

RegEx match open tags except XHTML self-contained tags

“您是否尝试过使用XML解析器?”

编辑:这是要走的路:Beautiful Soup

答案 1 :(得分:3)

这是错误的方法,除非你试图从一个小碎片中剔除一些数据。

如果你使用了宽容的HTML会好得多。前面提到的BeautifulSoup是一个很好的,但它停滞不前,我不相信它会被积极维护。

强烈推荐的Python解析器是lxml

在我们的一个本地邮件列表here上讨论解析XHTML有一个很长的线程,你可能会发现它很有用。

答案 2 :(得分:1)

您只需将块放入p​​arens然后使用{...}运算符,例如:

(foo...){1,10}

匹配那里的东西的1到10个实例。鉴于上面的示例,您可以嵌套:

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