python中re.arch()函数的用法

更新时间:2023-06-19 10:40:02 阅读: 评论:0

python中re.arch()函数的⽤法
说到使⽤正则匹配字符串,就不得不说三个常⽤的匹配检索⽅法:re.arch(),re.match()和re.findall()。
大鱼海棠语录主要的区别是前两个⽅法只在⽬标字符串中匹配⼀次满⾜条件的正则表达式;⽽re.findall()⽅法匹配⽬标字符串中所有满⾜条件的正则表达式;另外re.match()只会匹配⽬标字符串开头是否满⾜正则表达式,若开头不满⾜则匹配失败,函数返回None;⽽re.arch()则不限位置。
⾄于具体的细节,请参考:
我这⾥想说的是re.arch()⽅法的⼀些具体⽤法,直接上例⼦:
import re
text ="⽣于杭州市余杭区,成长经历地杭州市余杭区,居住较长的地区杭州市余杭区69年,⽆疫区居住史,⽆冶游史,有饮酒习惯,酒类:⽩酒,每天500-60 0ml,已饮30年,未戒。,有吸烟习惯,种类:纸烟,每天20-30⽀,已吸30年,已戒6年。,否认毒物及放射性物质接触史。既往在矿场⼯作。"
pattern = r'(有吸烟习惯)[,,]种类[::]纸烟[,,](每[天⽇周⽉]\d{1,2}-\d{1,2}[⽀根])[,,]已吸(\d{1,2}年)[,,](已戒)(\d{1,2}年)。'
图画大全result = re.arch(pattern, text)
print(result)
print(type(result))
储备资金print(result[1])
print(type(result[1]))
print(result[2])
print(result[3])
print(result[4])
print(result[5])
up())
print(up()))
橱柜材质ups())
print(ups()))
up(1))
print(up(1)))
up(2))
up(3))
up(4))
up(5))
先简单说⼀下相关代码的意义:
text是⽬标字段;pattern是正则表达式,其中使⽤⼩括号“()”的作⽤在这⾥是捕获分组的意思,也就是在正则匹配的时候,将⼩括号中匹配到的⽂本编号并存储到内存中以供后续使⽤;中括号“[]”中的内容表⽰或的关系,⽐如“[,,]”就表⽰匹配⼀个汉语逗号“,”或者英⽂逗号“,”;"\d{1,2}"表⽰匹配⾄少⼀位⾄
多两位数字,也就是匹配⼀位或者两位数字;group()⽅法是⽤来获得相应的分组结果的,其
中“.group()”和“.group(0)”是完全⼀样的。历史八下思维导图
上述代码执⾏的结果是:
<_sre.SRE_Match object; span=(84,116), match='有吸烟习惯,种类:纸烟,每天20-30⽀,已吸30年,已戒6年。'>
<class'_sre.SRE_Match'>
时尚头像有吸烟习惯
<class'str'>
每天20-30⽀
30年
已戒
6年
有吸烟习惯,种类:纸烟,每天20-30⽀,已吸30年,已戒6年。
西方文化的特点<class'str'>
('有吸烟习惯','每天20-30⽀','30年','已戒','6年')新高考时间
<class'tuple'>
有吸烟习惯
<class'str'>
每天20-30⽀
30年
已戒
6年
笔者发现了⽐较有意思的点,就是“result[1]”和"up(1)“的属性和值是完全⼀样的,也就是说就
算你不使⽤group()⽅法进⾏分组,⼀旦你使⽤re.arch(),其内部是已经分好了组的,可以通过"result[i]”(其中i是组号)直接获取对应组的值,这⼀点还是⽐较⽅便的。

本文发布于:2023-06-19 10:40:02,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1045458.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:匹配   习惯   字符串   杭州市   吸烟   余杭区
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图