欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python re sub

程序员文章站 2022-07-09 23:47:20
...

抓取小说的时候需要去掉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
相关标签: re