python删除<p>中的文本

0 python regex string

我想删除<p>标签内的文本以获取html文本块.我试图标准化一些文本并删除所有类,对齐和其他信息.我能找到的每个例子似乎都涉及剥离html,我不想剥离标签.我只是想让它们变得清晰.

所以,如果我有这样的事情:

<p class='MsoBodyText' align='left'>
some paragraph blah blah blah
</p>

<p class='SomeClassIDontWant' align='right'>
some other paragraph blah blah blah
</p>
Run Code Online (Sandbox Code Playgroud)

我想回来:

<p>
some paragraph blah blah blah
</p>

<p>
some other paragraph blah blah blah
</p>
Run Code Online (Sandbox Code Playgroud)

Dav*_*vy8 6

使用库来解析HTML,例如Beautiful Soup或类似的替代方法. 正则表达式不够强大,无法正确解析HTML.

@Mark提出了一个有效的观点,在这种特殊情况下,一个简单的正则表达式应该可以工作,因为你没有使用标记匹配等进行完全解析.我仍然认为当你发现自己需要更复杂的操作时,熟悉这些解析库是一个好习惯. .

<p title="1 > 0">Test</p>
Run Code Online (Sandbox Code Playgroud)

我相信是有效的HTML.至少Chrome接受它,我相信其他浏览器也会这样做.