




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章正则表达式226227第一节正则表达式语法与方法第二节正则表达式对象正则表达式语法与方法第一节2281. 掌握正则表达式的概念及作用。2. 了解正则表达式的语法。3. 了解正则表达式re模块的常用方法。229一、正则表达式的概念及作用1. 正则表达式的概念正则表达式又称规则表达式,是一种文本模式,由一串普通字符和特殊字符组成。正则表达式通常被用来检索、替换符合某文本模式的内容。2. 正则表达式的作用正则表达式可以用来检查一个字符串是否含有某个子串、将匹配的子串替换或从某个字符串中取出某个条件的子串等。230二、正则表达式的语法构造正则表达式的方法是使用多种特殊符号和字符(称为元字符)与运算符,将小的表达式结合在一起创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或所有这些组件的任意
组合。正则表达式是由普通字符及元字符组成的字符模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。2311. 普通字符普通字符包括没有显式指定为元字符的所有可打印和非打印字符,包括大写和小写字母、数字、标点符号和一些特殊符号。下表所示为非打印字符的转义序列。232非打印字符的转义序列2. 元字符元字符是具有特殊含义的字符,用于定义模式匹配的规则,一般由特殊符号和字符组成,正则表达式常用的元字符见下表。233正则表达式常用的元字符234正则表达式常用的元字符【例】在PyCharm集成开发环境下编写程序,实现在已知字符串中查找所有子串的位置。235程序运行结果如图所示。finditer()方法用于在字符串中找到正则表达式所匹配的所有子串,即返回的是一个迭代器,每个迭代元素是一个Match对象。Match对象是一次匹配的结果,包含了许多匹配的相关信息。236Python的应用三、正则表达式re模块常用的方法1. search ( )方法格式:re.search(pattern,string,flags=0)功能:扫描整个字符串,搜索匹配的第一个位置并返回一个Match对象。若匹配失败,则返回None。说明:pattern是要匹配的正则表达式;string是要匹配的字符串;flags用于控制正则表达式的匹配方式,为可选项,其常用取值见下表。237238参数flags的常用取值2. match ( )方法格式:re.match(pattern,string,flags=0)功能:从字符串的起始位置匹配正则表达式,并返回匹配对象。如果在起始位置没有匹配成功,则返回None。说明:pattern是要匹配的正则表达式;string是要匹配的字符串;flags用于控制正则表达式的匹配方式,为可选项。2393. findall ( )方法格式:re.findall(pattern,string,flags=0)功能:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表。如果没有找到匹配的子串,则返回空列表。说明:pattern是要匹配的正则表达式;string是要匹配的字符串;flags用于控制正则表达式的匹配方式,为可选项。2404. finditer ( )方法格式:re.finditer(pattern,string,flags=0)功能:与findall()方法类似,在字符串中找到正则表达式所匹配的所有子串,并将其作为一个迭代器返回。每个迭代器元素是一个Match对象,因此,可以通过循环的方式来匹配相关操作。说明:pattern是要匹配的正则表达式;string是要匹配的字符串;flags用于控制正则表达式的匹配方式,为可选项。2415. split ( )方法格式:re.split(pattern,string,maxsplit=0,flags=0)功能:将一个字符串按照正则表达式的要求分割,分割后返回列表。说明:pattern是要匹配的正则表达式;string是要匹配的字符串;maxsplit是最大的分割次数,默认为0,不限制次数,可以约定将一个字符串分割为几个子串,将超过最大分割次数的部分作为一个整体,成为最后一个元素;flags用于控制正则表达式的匹配方式,为可选项。2426. sub ( )方法格式:re.sub(pattern,repl,string,count=0,flags=0)功能:在一个字符串中替换所有匹配正则表达式的子串,并返回替换后的字符串。说明:pattern是要匹配的正则表达式;repl是替换的字符串;string是要匹配的字符串;count是指替换的最大次数,默认值为0,即根据实际匹配数进行替换;flags用于控制正则表达式的匹配方式,为可选项。243正则表达式对象第二节2441. 掌握正则表达式的子模式。2. 掌握正则表达式对象。3. 能运用match ( )、compile ( )、split ( )等解决实际问题。245一、compile()方法格式:pile(patten,flags=0)功能:编译正则表达式,生成一个正则表达式对象。说明:patten是要匹配的正则表达式,flags用于控制正则表达式的匹配方式,其返回值是一个正则表达式对象。246二、子模式与Match对象1. 子模式在正则表达式中,可以使用括号“()”将模式中的子串括起来,以形成一个子模式。将子模式视为一个整体时,它就相当于单个字符,括号中的内容被作为一个整体处理。子模式通过使用括号为整个匹配模式分组,默认情况下,每个分组会自动拥有一个组号,其规则如下:从左到右,以分组的左括号为标志,第一个出现的分组为组号1,第二个出现的分组为组号2,其余以此类推。其中分组0表示对应整个正则表达式。2472.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度电话交换设备寿命周期评估与维护服务合同
- 2025版个人货车货运代理服务合同范本
- 2025年度绿色环保冷库建设施工合同
- 2025版离婚债务清算及财产分割协议范本
- 二零二五年度云计算SaaS平台服务合同范本
- 二零二五年度智能停车库车位使用权租赁与增值服务协议
- 2025年度建筑工程安全应急响应预案合同
- 二零二五年农业科技合作研发合同
- 妇女权益保障法律知识讲座课件
- 2025版成都房屋买卖合同:含贷款及利率调整条款
- 台球厅员工管理规章制度
- GB/T 29188-2022品牌价值评价多周期超额收益法
- 2025年世界防治结核病日知识竞赛考试题库(300题含答案)
- 电玩城会员管理制度
- 2025年教育政策与法律法规考试卷及答案
- 2025年中国咪唑数据监测报告
- 钢铁企业铁路运输课件
- 防盗门快速开启技术消防救援培训课件
- 2024年家政服务业职业技能大赛母婴护理员项目技术工作文件
- 高处作业安全管理
- 上海工程技术大学《复变函数B》2023-2024学年第一学期期末试卷
评论
0/150
提交评论