当前位置: 首页 > news >正文

python re sub

抓取小说的时候需要去掉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

相关文章:

  • js方法
  • java加事务批量提交
  • 列表补全
  • 非托管资源的释放
  • 数三角形
  • 尝试写第一个js插件 图片轮播
  • 确定字符串互异
  • errno含义
  • 将满二叉树转换为求和树
  • JavaBean的学习
  • 排版页数
  • 最长回文串
  • 分享:Sersync试用
  • pstreegdb
  • 一点正则表达式的学习碎片
  • chrome扩展demo1-小时钟
  • Cookie 在前端中的实践
  • exif信息对照
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Python学习笔记 字符串拼接
  • react-native 安卓真机环境搭建
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Yii源码解读-服务定位器(Service Locator)
  • 阿里云应用高可用服务公测发布
  • 关于 Cirru Editor 存储格式
  • 和 || 运算
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 计算机在识别图像时“看到”了什么?
  • 设计模式走一遍---观察者模式
  • 使用parted解决大于2T的磁盘分区
  • 事件委托的小应用
  • 手写一个CommonJS打包工具(一)
  • 新书推荐|Windows黑客编程技术详解
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Semaphore
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​用户画像从0到100的构建思路
  • #、%和$符号在OGNL表达式中经常出现
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm码农论坛 毕业设计 231126
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (算法)Game
  • (五)c52学习之旅-静态数码管
  • (五)MySQL的备份及恢复
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net中调用windows performance记录性能信息
  • @Responsebody与@RequestBody
  • [<MySQL优化总结>]
  • [bzoj1912]异象石(set)