在HTML中的P标记内匹配文本

sot*_*ips 2 html python regex

我想使用python正则表达式匹配html中每个段落中的内容.这些段落里面总是有BR标签,如下所示:

<p class="thisClass">this is nice <br /><br /> isn't it?</p>
Run Code Online (Sandbox Code Playgroud)

我目前正在使用这种模式:

pattern = re.compile('<p class=\"thisClass\">(.*?)<\/p>')
Run Code Online (Sandbox Code Playgroud)

然后我正在使用:

pattern.findall(html)
Run Code Online (Sandbox Code Playgroud)

找到所有的比赛.但是,它只匹配我所拥有的28个段落中的两个,看起来那是因为那两个内部没有BR标签而其余部分都没有.我究竟做错了什么?我该怎么办才能修复它?谢谢!

Nad*_*mli 5

我不认为它是失败的,<br/>因为该段落分布在多行中.使用DOTALL模式来解决此问题:

pattern = re.compile('<p class=\"thisClass\">(.*?)<\/p>', re.DOTALL)
Run Code Online (Sandbox Code Playgroud)