分组在re模块中的使用
import re#search s = "<a>wahaha</a>" #标签语言 html 和 web相关 ret= re.search("(>)(\w+)(<)",s) print(ret.group()) #>wahaha< 和print(ret.group(0))结果一样 print(ret.group(1)) #> 数字参数代表取对应分组中的内容 print(ret.group(2)) #wahaha print(ret.group(3)) #< # search分组 通过数字显示# findall # 为了findall可以顺利取到分组中的内容,有一种特殊的语法,就是优先显示分组内容 ret= re.findall(">\w+<",s) print(ret) #['>wahaha<'] ret= re.findall(">(\w+)<",s) #加括号会优先显示(\w+)的内容,两边的> < 就不显示了 print(ret) #['wahaha']# 取消分组优先(?: 正则表达式) ret= re.findall("\d+(\.\d+)?", "1.234.5.678") print(ret) #['.234', '.678'] python把正则中的括号当成了优先分组,所以取出来的是小数点之后的, # 因为正则规则用了()规定小数,所以函数会当成优先级执行 ret2= re.findall("\d+(?:\.\d+)?", "1.234.5.678") #在括号中加上?: 可以取消优先级 print(ret2) #['1.234', '5.678']#split #没有分组的时候会把切掉的内容不显示,加上分组会一起显示出来 ret = re.split("\d+","alex29egon30") print(ret) #['alex', 'egon', ''] ret = re.split("(\d+)","alex29egon30") print(ret) #['alex', '29', 'egon', '30', '']#分组命名 (?P<这个组的名字>正则表达式) s = '<a>wahaha</a>' ret = re.search('>(?P<name>\w+)<',s)#把想取出来的wahaha单独括起来了,并且加了 ?P 和一个名字 (name) print(ret.group()) #>wahaha< print(ret.group(1)) #wahaha 因为就一个分组,所以直接取wahaha print(ret.group('name')) #wahaha 也可以通过组名取值 s = '<a>wahaha</a>' pattern = '<(\w+)>(\w+)</(\w+)>' ret = re.search(pattern,s) print(ret.group(1) == ret.group(3)) # True 判断前后两个标签名 a a 字是否一致 s = '<a>wahaha</A>' pattern = '<(\w+)>(\w+)</(\w+)>' ret = re.search(pattern,s) print(ret.group(1) == ret.group(3)) # False 判断前后两个标签名 a A 字是否一致 # 使用前面的分组 要求使用这个名字的分组和前面同名分组中的内容匹配的必须一致 s = '<a>wahaha</A>' pattern = '<(?P<tab>\w+)>(\w+)</(?P=tab)>' ret = re.search(pattern,s) print(ret) #None 前后分组的名字不一致, 返回None s = '<a>wahaha</a>' pattern = '<(?P<tab>\w+)>(\w+)</(?P=tab)>' #要求使用这个名字的分组和前面同名分组中的内容匹配的必须一致 ret = re.search(pattern,s) print(ret.group(2))
s = '<a>wahaha</a>'pattern = '<(?P<tab>\w+)>(\w+)</(?P=tab)>' #要求使用这个名字的分组和前面同名分组中的内容匹配的必须一致ret = re.findall(pattern,s)print(ret) #[('a', 'wahaha')] s = '<a>wahaha</a>'pattern = r'<(\w+)>(\w+)</(\1)>' #\1 直接表示了第一个()里的内容, 这个没有tab,没有组名,直接用数字表达了,但是需要在字符串前加上一个r, 对\1转义ret = re.findall(pattern,s)print(ret) #[('a', 'wahaha', 'a')]
# 这些情况会用到 # 2018-12-06 # 2018.12.6 # 2018 12 06 # 12:30:30
转载于:https://www.cnblogs.com/kenD/p/9494179.html
分组在re模块中的使用相关推荐
- 【Android 组件化】路由组件 ( 生成 Root 类记录模块中的路由表 )
文章目录 一.Root 表作用 二.生成 Root 表 三.完整注解处理器代码 及 生成的 Java 代码 ( 仅供参考 ) 1.注解处理器代码 2.app 模块中的注解类生成的 Java 源码 3. ...
- python基本模块中的对象_Python 学习笔记 -- OS模块的常用对象方法
1 #这里列举在os模块中关于文件/目录常用的函数使用方法 2 3 #这里需要注意下,在使用这些方法前记得导入os模块 4 import os #导入os模块 5 """ ...
- Iar环境c语言调用汇编函数,如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数?...
我在硬故障处理程序中有一些程序集.程序集基本上是为了传递当前堆栈指针作为参数(在R0中).它看起来像这样...如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数? __asm(&quo ...
- 现在无法开始异步操作。异步操作只能在异步处理程序或模块中开始,或在页生存期中的特定事件过程中开始...
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 这篇没啥技术含量,用来小记一番 错误信息 "System.Invalid ...
- 爬虫之lxml模块中etree.tostring函数的使用
爬虫之lxml模块中etree.tostring函数的使用 运行下边的代码,观察对比html的原字符串和打印输出的结果 from lxml import etree html_str = ''' &l ...
- 爬虫之requests模块中cookies参数的使用
爬虫之requests模块中cookies参数的使用 上一篇文章在headers参数中携带cookie,也可以使用专门的cookies参数 cookies参数的形式:字典 cookies = {&qu ...
- 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)
关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...
- Magento中如何在模块中使用多张数据表并配置多个model?
功能介绍: 引用magento开发人员的一句话: Magento has basic one resource to one table resource. 也即是一个资源对应一张数据表. 当有时候, ...
- pandas使用groupby函数对dataframe进行分组统计、使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index)
pandas使用groupby函数对dataframe进行分组统计.使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index) 目录
- SPC在SAP QM模块中的应用
SPC在SAP QM模块中的应用 1.点击控制标识符--勾选采样过程.统计过程控制特征. 2.点击定量数据,维护上下限. 以上两点也可以在检验计划中维护. 创建采样过程 QDV1 1.取样类型:只能使 ...
最新文章
- mysql a-z排序_mysql实现首字母从A-Z排序
- mysql根据时间戳查询指定日期内数据
- 【软件工程】UML软件
- 记一次糟心的内网靶场实战
- 分布式事务中间件 Fescar - 全局写排它锁解读 1
- 【黑金ZYNQ7000系列原创视频教程】02.视频接口mdash;mdash;hdmi编码输出实验
- 用if写一个备份mysql的脚本
- CentOs基础操作指令(网络配置,RPM包管理)
- 关于android的零碎问题的整理
- vue2.0桌面端框架_Vue PC端框架
- HTML5视频播放器
- 修改mysql数据库默认字符集_MySQL数据库之修改mysql默认字符集的两种方法详细解析...
- WORD的POI处理与原理
- Fredholm第二类积分方程的MATLAB代码实现(1)
- MCSA / Windows Server 2016 服务器的远程管理
- 微信小程序中使用emoji表情
- VMware 8.02虚拟机安装MAC lion 10.7.3教程 附送原版提取镜像InstallESD.iso!
- 【天磊卫士安全预警】incaseformat蠕虫病毒预警
- jenkins下载插件慢解决方式
- 决策树ID3算法,计算过程