python re sub

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zslngu/article/details/88686667

抓取小说的时候需要去掉html标签

Beautiful 可以去掉标签,但是对于script 中的js代码也保存了下来,因此先去掉所有的js标签

re.sub(`pattern`, `repl`, `string`, `count=0`, `flags=0`)

`pattern`, `repl`, `string` 为必选参数
`count`, `flags` 为可选参数
`pattern`正则表达式
`repl`被替换的内容,可以是字符串,也可以是函数
`string`正则表达式匹配的内容
`count`由于正则表达式匹配的结果是多个,使用count来限定替换的个数从左向右,默认值是0,替换所有的匹配到的结果
`flags`是匹配模式,`re.I`忽略大小写,`re.L`表示特殊字符集\w,\W,\b,\B,\s,\S,`re.M`表示多行模式,`re.S` ‘.’包括换行符在内的任意字符,`re.U`表示特殊字符集\w,\W,\b,\B,\d,\D,\s,\D

替换部分代码

def f(groups):
    return ''
patt = '(<script>.*?</script>)'
t= re.sub(patt, f, t, flags=re.S)  # 这里要注意 re.sub 第四个参数是 counts 之前在写的时候 没有写flags,re.S 被认为是参数counts,导致少去掉一个script

猜你喜欢

转载自blog.csdn.net/zslngu/article/details/88686667