菜鸟IT的博客
"菜鸟IT"的博客 (WWW.17WX.NET)
熟悉HTML网站的前端美工到切图制作,搭配DIV+TABLE+CSS,熟悉Fireworks和Dreamwear的网站制作实战应用,专注于学习和记录JS脚本对于网页改造的各种新奇技术.平时的工作既要做销售,也要做前端开发,也要做后期的客户售后维护,此博客为博主自己平时的IT工作的实战学习笔记,记录自己工作和学习中遇到的各种坑,也分享给有需要的新人...
博客首页 网站前端制作 网赚 软件应用 Windows系统 Python
谷歌联盟提供的广告↓
[网站前端制作]有关标签↓
[网赚]有关标签↓
[软件应用]有关标签↓
[Windwos系统]有关标签↓
 | 
菜鸟IT的博客 >> Python

re.search 和 re.match的详细用法 | 关于python中的正则表达式的实战说明
re.search(pattern, string, flags=0)
re.match(pattern, string, flags=0)

# ————————————————

上面3个参数的使用说明↓
pattern : 正则中的模式字符串。
string : 要被查找替换的原始字符串。
flags : 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

# ————————————————

正则表达式中,group()用来提出分组截获的字符串吗,()用来分组

示范下:

matchObj = re.match( r'dogs', line, re.M|re.I)
matchObj.group()

# ——————插一句解释下后面的flags参数
flags : 可选,表⽰匹配模式,⽐如忽略⼤⼩写,多⾏模式等,具体参数为:
1. re.I 忽略大小写
2. re.L 表达特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
3. re.M 多行模式
4. re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
5. re.U 表达特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
6. re.X 为了增加可读性,忽略空格和 # 后面的注释


# ————————

再次示范↓

import re
a = "123abc456"
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0)   #123abc456,返回整体
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1)   #123
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2)   #abc
print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(3)   #456

解释
正则表达式中的三组括号把匹配结果分成三组

group() 同group(0)就是匹配正则表达式整体结果。

group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。

当正则表达式中没有括号,group(1)是有误的。

# ——————————关于python中的正则表达式的实战解释——————————————
# ——————————关于python中的正则表达式的实战解释——————————————
# ——————————关于python中的正则表达式的实战解释——————————————

import re
text ="⽣于杭州市余杭区,成长经历地杭州市余杭区,居住较长的地区杭州市余杭区69年,⽆疫区居住史,⽆冶游史,有饮酒习惯,酒类:白酒,每天500-600ml,已饮30年,未戒。,有吸烟习惯,种类:纸烟,每天20-30⽀,已吸30年,已戒6年。,否认毒物及放射性物质接触史。既往在矿场⼯作。"
pattern = r'(有吸烟习惯)[,,]种类[::]纸烟[,,](每[天⽇周⽉]\d{1,2}-\d{1,2}[⽀根])[,,]已吸(\d{1,2}年)[,,](已戒)(\d{1,2}年)。'
result = re.search(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])
print(result.group())
print(type(result.group()))
print(result.groups())
print(type(result.groups()))
print(result.group(1))
print(type(result.group(1)))
print(result.group(2))
print(result.group(3))
print(result.group(4))
print(result.group(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年
--------------------------------------------------------

菜鸟IT博客[2022.04.29-16:47] 访问:259
[关闭窗口]  
Google公司(谷歌联盟)提供的广告↓
本页的htm伪静态链接网址:分享链接加载中....

收藏链接: www.ems-help.com | www.17ckd.com | www.17post.com | m.17ckd.com | www.17track.wang | www.kd100.wang | www.17ckd.com/p1 | www.17ckd.com/p0 | www.17wx.net | www.17ckd.com/17tracking | www.11185cha.com | yf.17ckd.com | yfm.17ckd.com | www.sftrack.net | www.17htm.net | www.kdjiage.com | m.kdjiage.com | www.expba.net | m.expba.net | www.pptrack.net
学习Python的关键点
【1】★ Python:解决小数点后面四舍五入的精度丢失问题(二进制转换导致,另解决prec动态保留小数点后多少位)
【2】 ★ Python:单个py文件打包exe程序
【3】 ★ 给自己写的exe程序加上注册授权保护
【4】 ★ Python的http请求超时设置(timeout)| 异常类型/捕获异常
【5】 ★ Python的多线程的线程池的使用| ThreadPoolExecutor
【6】 ★ Python能用到的免费代理IP网址
【7】 ★ Python_用于测试代理IP是否有效
【8】 ★ Python Requests post() 方法 | post方式提交api
【9】 ★★★ Python Tkinter Gui视频学习教程
【10】 ★★★ Python 小项目实战-视频学习教程
【11】 ★★★ Python 爬虫项目实战-视频教程
【12】 ★★★ 高级进阶的关于python的五本书: 「Python从菜鸟到高手」、「html5+css3+JavaScript从入门到精通」、「Django Web应用开发实战」、「漫画算法」
【13】 ★★★ Request库-爬虫
【14】 ★★★ Python 图形识别文字
【15】 ★★★ Python 滑动验证码识别【图文教程】
【16】 ★★★ Python 滑动验证码识别【视频教程】
【18】 ★★★ Python 关于Class类的应用【视频教程】
【19.1】 ★★★ Python 关于进度条的制作(1)
【19.2】 ★★★ Python 关于进度条的制作(2)
【20】★★★ Python 抓取某宝的商品信息
【21】★★★ Python 一小时学会全栈开发浏览器版本的企业管理系统【视频教程】
【22】★★★ Python 全栈开发——前端+后端【视频教程】
【23】★★★ Layui 浏览器前端模块化UI框架
【24】★★★ Python-Django-Web应用开发【视频教程】
【25】★★★ Python 从0开始学【视频教程】
【26】★★★ Python的tkinter界面打包exe以后关于icon图标报错的解决办法!
【27】★★★ Python的tkinter视频学习教程【N个系统性学习合集视频】★★★
【28】★★★ Python全栈开发【视频教程】★★★
Copyright © 17WX.NET 版权所有 Manage 沪ICP备13006304号-5 沪公网安备31011702006630号
,sitemap.html,sitemap.xml
网站人气值: