- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第11章正则表达式;学习目标/Target;学习目标/Target;章节概述/Summary;目录/Contents;目录/Contents;目录/Contents;基础知识;;;;;;;正则表达式中预定义了一些字符集,字符集能以简洁的方式表示一些由元字符和普通字符表示的匹配规则。常见的预定义字符集如表所示。;re模块;;;;预编译;;;;;;匹配与搜索;;11.4.1使用match()函数进行匹配;11.4.1使用match()函数进行匹配;;search()函数会查找整个字符串,直到找到第一个满足模式的子字符串。如果找到匹配项,search()函数返回一个匹配对象;如果没有找到匹配项,它会返回None。;使用search()函数对指定的字符串进行匹配与搜索,示例代码如下:;;一个手机号码由11位数字组成,前3位数字表示网络识别号,第4~7位数字表示地区编号,第8-11位数字表示用户编号。因此,我们可以通过手机号前3位数字的网络识别号辨别手机号所属运营商。;使用列表保存价格信息。
定义空列表用于保存用户选购商品的价格。
接收输入的最大价格和最小价格。
从价格列表中获取每个商品价格。
判断商品价格区间。
将商品价格进行排序。;在Chapter10项目中创建01_belong.py文件。
在01_belong.py中编写代码。
运行01_belonge.py文件。;匹配对象;;使用match()函数和search()函数对字符串进行匹配与搜索时,返回的不是单一的匹配结果,而是如下形式的字符串:;;使用search()函数对指定的字符串进行匹配与搜索,示例代码如下:;当正则表达式中包含子组时,Python解释器会将每个子组的匹配结果临时存储到缓冲区中,若用户想获取子组的匹配结果,可使用Match对象的group()方法,示例代码如下:;全文匹配;;findall()函数可以获取目标字符串中所有与正则表达式匹配的内容,并将所有匹配的内容以列表的形式返回。findall()函数的语法格式如下:;以字符串“狗的英文:Dog,猫的英文:Cat。”为例,使用findall()函数匹配该字符串中所有的中文字符,示例代码如下:;;finditer()函数同样可以获取目标字符串中所有与正则表达式匹配的内容,但该函数会将匹配到的子串以迭代器的形式返回。finditer()函数的语法格式如下:;以字符串“狗的英文:Dog,猫的英文:Cat。”为例,使用findall()函数匹配该字符串中所有的中文字符,示例代码如下:;检索替换;;re模块中提供的sub()、subn()函数用于替换目标字符串中的匹配项,这两个函数的语法格式如下所示:;sub()函数与sunb()函数的功能相似,不同的是若调用成功,sub()函数会返回替换后的字符串,subn()函数会返回包含替换结果和替换次数的元组。示例如下所示。;实例2:电影信息提取;;现有“电影.txt”文件,该文件中保存了多部电影信息,包括电影排名、电影名称、评分、类别、演员等,每种信息都有相对应的标签,例如title标签对应着电影名称、rating标签对应着电影评分、rank标签对应着电影排名,示例如下:;使用列表保存价格信息。
定义空列表用于保存用户选购商品的价格。
接收输入的最大价格和最小价格。
从价格列表中获取每个商品价格。
判断商品价格区间。
将商品价格进行排序。;在Chapter10项目中创建02_info_extract.py文件。
在02_info_extract.py中编写代码。
运行02_info_extract.py文件。;文本分割;;re模块中提供的split()函数可使用与正则表达式模式相同的字符串分割指定文本。split()函数的语法格式如下:;split()函数调用成功后,分割出的子项会被保存到列表中并返回。以字符串“Andslowlyread,anddreamofthesoftlook”为例,使用split()函数分配字符串,具体代码如下所示。;贪婪匹配;;;以字符串“Andslowlyread,anddreamofthesoftlook”为例,假设使用正则表达式“and\s.*”对该字符串进行匹配,示例如下:;贪婪匹配方式也称为匹配优先,即在可匹配可不匹配时,优先尝试匹配;非贪婪匹配方式也称忽略优先,即在可匹配可不匹配时,优先尝试忽略。这两种匹配方式总是体现在重复匹配中,重复匹配中使用的元字符“?”、“*”、“+”、“{}”默认为匹配优先,但当其与“?”搭配,即以“??”、“*?”、“+?”、“{}?”这些形式出现时,则为忽略优先。
若使用非贪婪方式,即使用正则表达式“and\s.*?”进行匹配,示例如下:
您可能关注的文档
- 大学计算机基础教程(第13版)课件全套 柴欣 第1--10章 计算机的诞生与发展---计算机素质教育.pptx
- Python程序开发案例教程(第2版)课件 第4章 列表与元组.pptx
- Python程序开发案例教程(第2版)课件 第1章 开启Python学习之旅.pptx
- Python程序开发案例教程(第2版)课件 第2章 数字类型与字符串.pptx
- Python程序开发案例教程(第2版)课件 第3章 流程控制.pptx
- Python程序开发案例教程(第2版)课件 第5章 字典和集合.pptx
- Python程序开发案例教程(第2版)课件 第6章 函数.pptx
- Python程序开发案例教程(第2版)课件 第7章 类与面向对象.pptx
- Python程序开发案例教程(第2版)课件 第8章 模块.pptx
- Python程序开发案例教程(第2版)课件 第9章 文件与文件路径操作.pptx
- 深度解析(2026)《ISO 22002-12025食品安全前提方案—第1部分:食品制造》.pptx
- 深度解析(2026)《ISO 22002-52025食品安全前提方案—第5部分:运输和储存》.pptx
- 深度解析(2026)《ISO 22002-42025 食品安全前提方案 — 第4部分:食品包装制造》.pptx
- 徒步活动策划方案.doc
- 深度解析(2026)《ISO 22002-62025食品安全前提方案—第6部分:饲料及动物食品生产》.pptx
- 2026年新版郯城期末真题卷.doc
- 深度解析(2026)《ISO 22476-72012岩土工程勘察与测试 — 现场测试 — 第7部分:钻孔千斤顶试验》.pptx
- 深度解析(2026)《ISO 22090-22014 船舶与海洋技术 — 航向传送装置(THD) — 第2部分:地磁原理》.pptx
- 深度解析(2026)《ISO 23584-22012 光学和光子学 — 参考字典规范 — 第 2 部分:类与特性定义》:构建智能制造数据基石的专家视角与未来展望.pptx
- 深度解析(2026)《ISO 22932-92025 Mining — Vocabulary — Part 9 Drainage》:构建未来矿山“水脉”治理与可持续发展的新语言体系.pptx
最近下载
- 虫害生物防治员工作总结.docx VIP
- 《生物、医疗行业传递窗技术规范》.pdf VIP
- 广西医科大学高职人体解剖学复习题和答案(13).pdf VIP
- 中医罐疗与肺系疾病.pptx VIP
- 雨课堂学堂在线《财务会计理论与实践)》学堂云单元测试考核答案.pdf
- 人教PEP版(2024)英语四年级上册Unit5 The weather and us PartB (课件).pptx VIP
- JVC摄像机GR-DV3000A用户手册.pdf
- 青海省西宁市2024-2025学年九年级上学期期末调研测试数学试题.docx VIP
- 慢性咳嗽的中医治疗.pptx VIP
- 超星学习通学术规范与学术伦理(华东师范大学)考试参考答案.doc VIP
原创力文档


文档评论(0)