正则表达式匹配html标签
匹配案例:
1、匹配: <h1>我喜欢python</h1>
import restr = "<h1>我爱python</h1>"
result = re.match(r"<\w*>.*</\w*>",str)
print(result)
运行结果:
<re.Match object; span=(0, 17), match='<h1>我爱python</h1>'>
说明:html中的<>和/匹配时仍旧使用<>和/
\w可以匹配数字、字母、下划线、希腊字母、俄文字母等
*表示至少有0个
.匹配任意单字符,除了换行符\n
上述匹配有一个缺陷,<h1>我爱python</h2>
这样的情况也是会匹配上的,所以要对标签进行分组
上面的匹配案例1就需要这样写:
import restr = "<h1>我爱python</h1>"
result = re.match(r"<(\w*)>.*</\1>",str)
print(result)'''
()表示组的意思
(\w*)表示有内容的一个组
\1表示第一组,和前面的\w*是一样的同一组
'''
2、匹配:<body><h1>我爱python</h1></body>
import restr = "<body><h1>我爱python</h1></body>"
result = re.match(r"<(\w*)><(\w*)>.*</\2></\1>",str)
print(result)
运行结果:
<re.Match object; span=(0, 30), match='<body><h1>我爱python</h1></body>'>
说明:找到组的一一对应关系,从左往右数,组数从1开始然后按组别进行匹配
匹配案例2还有另外一种写法:
import restr = "<body><h1>我爱python</h1></body>"
result = re.match(r"<(?P<n1>\w*)><(?P<n2>\w*)>.*</(?P=n2)></(?P=n1)>",str)
print(result)'''
?P<n1>表示给组设置变量名,将其定义在组内。<>里的名字随意,如name1,name2都可以
(?P=n1) 表示使用变量,只不过把组当作一个变量,然后在使用这个变量
'''
正则表达式匹配html标签相关推荐
- js正则表达式匹配span标签
1.js正则表达式匹配span标签 const spans = htmlStr.match(/<span (.*?)>(.*?)<\/span>/g) 2.js正则表达式–获取 ...
- java正则表达式匹配xml标签_用正则表达式匹配HTML\XML等文件中的标签
测试用HTML源文件: View Code <完美世界:天界的召唤>缤纷圣诞总动员 [ 中华网 1小时前] 经过了平安夜和圣诞节,节日的气氛被推到了最高点!<完美世界:天界的召唤&g ...
- html匹配属性正则表达式,正则表达式匹配html标签的属性值
html">正则表达式是做文本解析工作必不可少的技能.如Web服务器日志分析,网页前端开发等.很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事 ...
- 使用正则表达式 匹配 HTML 标签内的内容
正则表达式如下 /(?<=((<[a-zA-Z-]+?){0,1}>))([\s\S]+)(?=([\s]{0,1}<\/[a-zA-Z-]+(>{0,1})))/g 测 ...
- 正则表达式匹配html标签,获取标签内容
如何获取html中正文的内容 假设我们要获取下面html标签中的内容: <p>桥边姑娘</p><p>你的芬芳</p><p>我把你放心上< ...
- 使用正则表达式匹配HTML 下各种title标签
http://www.oschina.net/question/195686_46313 <title>标题</title> <title> 标题 </tit ...
- 正则表达式匹配指定的tr标签
问题来源 利用正则表达式匹配指定的<tr></tr>,在这个tr标签中存在一个特殊的字符串"[$]",要在多个tr标签中匹配出所有符合条件的<tr&g ...
- 正则表达式匹配标签里面的内容
正则表达式匹配标签里面的内容 方法: <[^>]+>
- html正则匹配img src,匹配img标签及img 的src的正则表达式
text中img标签: 匹配img标签的正则表达式:string Pattern = @"]*/s*src/s*=/s*([']?)(?/S+)'?[^>]*>"; 匹 ...
- 正则表达式匹配不包含特定字符串解决匹配溢出问题
匹配溢出问题在正则表达式当中算是比较常见的问题,它常常导致我们匹配结果莫名其妙的出错,本文专门为你讲解如何通过匹配不包含特定字符串的方法来解决这类问题. 那么,什么是匹配溢出呢? 下面我们来看个例子: ...
最新文章
- 数据蒋堂 | 大数据技术的4个E
- mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例
- 9路棋盘java代码_Java ServiceContext类代码示例
- IDEA开发vue.js卡死问题
- mysql with lock tables_mysql出现大量FLUSH TABLES WITH READ LOCK
- python动态心形代码_父亲节,程序员几条代码硬核示爱
- vue如何写原生js_纯技巧向:React, Vue, Rxjs 和原生 JS 代码大乱斗
- 智能升级新阶段,新云原生企业如何加速出圈?
- 搭建Struts2开发环境
- General PLSQL 查看数据表中文乱码????
- 简单MFC程序开发-C++反编译肉鸡养成
- matlab自适应高斯滤波,[matlab] 自适应高斯滤波器在二维图像上的应用
- 【锂电】锂电工艺大全
- VUE-日期选择器-结束时间开始时间
- 服务器上删掉的数据如何找回,在服务器数据丢失情况下如何恢复数据
- TTTTTTTTTTDDDDDDDD原来是这样。。。。。。。。。。的
- 【2011集训队出题】跳跳棋
- Python+Vue计算机毕业设计房屋租赁管理系统p8pvy(源码+程序+LW+部署)
- 译文: C28x Compiler Error and Warning Messages
- 大学英语期末考计算机上答卷,英语期末考试总结(精选7篇)
热门文章
- git学习笔记-(9-高层命令-分支基础)
- spring boot antd pro 跨域_springboot配置跨域
- springboot 返回输出流_Spring Boot 静态资源处理,妙招
- 计算机保研夏令营英语面试,保研经验 | 夏令营面试那些事儿(内含视频)
- php symfony2 laravel4 比较,LARAVEL4、Phalcon、Symfony2的优缺点?
- mysql8.0认证方式修改
- linux下解除端口防火墙,Linux下防火墙配置、端口的开启和关闭
- java mysql 周_java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...
- Ceph添加、删除osd及故障硬盘更换
- 多线程的Lock锁——ReentrantReadWriteLock