今天遇到个问题,就是在采集的时候,要移除文章内的<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)
测试得到的结果:
初步来看是没有问题的。这只是测试一组数据,不知道测试一些其他内容会不会有问题。
有懂正则的大佬,欢迎指正哦,或者有更好的办法,欢迎指教哈。
标签: