用于解析div标签的python正则表达式

时间:2009-10-09 00:32:25

标签: python regex

关于python正则表达式的问题。

我想匹配像

这样的div块
<div class="leftTail"><ul class="hotnews">any news stuff</ul></div>

我在考虑像

这样的模式
p = re.compile(r'<div\s+class=\"leftTail\">[^(div)]+</div>')

但似乎无法正常工作

另一种模式

p = re.compile(r'<div\s+class=\"leftTail\">[\W|\w]+</div>')

我得到的远比我想的要多得多,直到文件中的最后一个标记才能获得所有内容。

感谢您的帮助

3 个答案:

答案 0 :(得分:12)

您可能想要考虑毕业到实际的HTML解析器。我建议你试试Beautiful Soup。 HTML有许多疯狂的格式化方法,正则表达式可能无法一直正常工作,即使你正确地编写它们也是如此。

答案 1 :(得分:4)

不要使用正则表达式来解析XML或HTML。你永远无法让它对嵌套的div正常工作。

答案 2 :(得分:4)

试试这个:

p = re.compile(r'<div\s+class=\"leftTail\">.*?</div>')