Python程序开发案例教程(第2版)课件 第11章 正则表达式.pptx

Python程序开发案例教程(第2版)课件 第11章 正则表达式.pptx

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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.*?”进行匹配,示例如下:

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档