当前分类:python>>正文

python正则表达式同时匹配<b><br />这些

来源:互联网   时间:2022年7月27日   编辑

今天遇到个问题,就是在采集的时候,要移除文章内的<b><strong>(加粗效果)以及换行<br />这个

这些都是常见的html标签,除了<br />以外,其他几个标签都有闭合,而<br />这个标签,有人是写成<br>的,有的人是写成<br />的

想想能不能一键把这些标签都给替换成空白啊。

后面决定使用正则表达式来搞定,还是比较简单的。

匹配<b>和</b>可以是:

re.compile(r</{,1}b>)

懂的朋友一眼就明白了。

不过,要把<br>也考虑进去,就得稍微改一下:

re.compile(r</{,1}br{,1}>)

接下来就是还要把<br />也要考虑进去了,这中间有一个空格,也很好搞定,可以是:

re.compile(r'</{,1}br{,1}\s*/{,1}>')

其中\s*表示匹配0个和多个空格。

下面是我的测试效果。

测试代码:

import re
regx=re.compile(r'</{,1}br{,1}\s*/{,1}>')
html='''
我今天要讲的故事有点多<br/><br>
重点内容是<b>小兔子</b>啊
'''
txt=regx.sub('',html)

print(txt)

测试得到的结果:

 

初步来看是没有问题的。这只是测试一组数据,不知道测试一些其他内容会不会有问题。

有懂正则的大佬,欢迎指正哦,或者有更好的办法,欢迎指教哈。

[猜你喜欢]

标签: 正则表达式