- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
正则表达式;?学习目标;1、正则表达式语法;1、正则表达式语法;1、正则表达式语法;1、正则表达式语法;正则表达式是一个特殊的字符序列,能方便地检查一个字符串是否与某种模式匹配。学会使用Python自带的re模块编程非常有用,因为它可以帮我们快速检查一个用户输入的email或电话号码格式是否有效,也可以帮我们快速从文本中提取需要的字符串。本节我们就来学习如何编写Python正则表达式,并利用re模块自带的方法来判断字符串的匹配并从目标字符串提取我们想要的内容。;在使用re模块时,需要先应用import语句将其引入,具体代码如下:
importre
re模块主要包含如下6种方法:
pile:编译一个正则表达式模式(pattern)
re.match:从头开始匹配,使用group()方法可以获取第一个匹配值
re.search:用包含方式匹配,使用group()方法可以获取第一个匹配值
re.findall:用包含方式匹配,把所有匹配到的字符(多个匹配值)放到以列表中返回
re.sub:匹配字符并替换
re.split:以匹配到的字符当作列表分隔符,返回列表;13.2.1分组匹配
1.pile方法
compile函数用于编译正则表达式,生成一个正则表达式(pattern)对象,供match()和search()这两个函数使用。其函数包含两个参数,一个pattern,一个可选参数flags。
pile(pattern[,flags])
参数:
pattern:一个字符串形式的正则表达式
flags:可选,表示匹配模式,比如忽略大小写,多行模式等。;2.re.match和re.search方法
re.match和re.search方法类似,唯一不同的是re.match从头匹配,re.search可以从字符串中任一位置匹配。如果有匹配对象match返回,可以使用match.group()提取匹配字符串。
re.match(pattern,string[,flags])
patter:表示模式字符串,由要匹配的正则表达式转换而来。
string:表示要匹配的字符串。
flags:可选参数,表示标志位,用于控制匹配方式,常用的标志及其说明如表13.3所示。下同
re.search(pattern,string[,flags]);3.re.findall方法
前面我们已经提到过,当您试图从一个字符串中提取所有符合正则表达式的字符串列表时需要使用re.findall方法。findall方法使用方法有两种,一种是pattern.findall(string),另一种是re.findall(pattern,string)。re.findall方法经常用于从爬虫爬来的文本中提取有用信息。findall函数返回的总是正则表达式在字符串中所有匹配结果的列表。
pattern匹配模式,由pile获得
string需要匹配的字符串;13.2.2替换字符串
re.sub方法用于替换字符串中的匹配项。其语法格式如下:
re.sub(pattern,repl,string,count=0,flags=0)
参数说明如下:
pattern:表示模式字符串,由要匹配的正则表达式转换而来。
repl:表示替换的字符串,也可为一个函数。
string:表示要被查找替换的原始字符串。
count:可选参数,表示模式匹配后替换的最大次数,默认0表示替换所有的匹配。
flags:可选参数,表示标志位,用于控制匹配的方式,如是否区分字母大小写。;13.2.3使用正则表达式分割字符串
re.split方法用于实现根据正则表达式分割字符串,并返回分割后的字符串列表。其语法格式如下:
re.split(pattern,string,[maxsplit],[flags])
参数说明如下:
pattern:相当于str.split()中的sep,分隔符的意思,不但可以是字符串,也可以是正则表达式。
string:表示要匹配的字符串。
maxsplit:可选参数,这个参数和str.split()中有点不一样:默认值为0,表示分割次数无限制,能分几次分几次;取负数,表示不分割;若大于0,表示最多分割maxsplit次;
flags:可选参数,表示标志位,用于控制匹配的方式,如是否区分字母大小写。
您可能关注的文档
- 大学计算机基础及应用(Python篇)课件:函数.pptx
- 大学计算机基础及应用(Python篇)课件:计算机网络基础.pptx
- 大学计算机基础及应用(Python篇)课件:计算机硬件系统.pptx
- 大学计算机基础及应用(Python篇)课件:计算机与计算思维.pptx
- 大学计算机基础及应用(Python篇)课件:流程控制及异常处理.pptx
- 大学计算机基础及应用(Python篇)课件:模块 .pptx
- 大学计算机基础及应用(Python篇)课件:模块.pptx
- 大学计算机基础及应用(Python篇)课件:树莓派开发与应用.pptx
- 大学计算机基础及应用(Python篇)课件:数据可视化.pptx
- 大学计算机基础及应用(Python篇)课件:数学建模.pptx
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
最近下载
- 3铁+铁的单质说课课件 2023-2024学年高一上学期化学人教版(2019)必修第一册+.pptx
- (完整)EPC项目管理要点.pdf
- 宏观经济研究*专题报告:拉姆塞模型视角下的中国经济-241125.pdf VIP
- 《国家电网有限公司施工项目部标准化管理手册 变电工程分册(2021年版)》.doc
- 《工业项目建设用地控制指标》.pdf
- 广东工业大学《高等数学(2)》2020-2021第一学期期末试卷.pdf
- 2025蛇年公司元旦跨年晚会IT互联网尾牙活动策划方案-25P.pptx VIP
- 义务教育优质均衡发展工作实施方案通用五篇 (模板).pdf
- 四年级最新四年级下册阅读理解题20套(带答案).doc
- 煤气化技术简介..doc
文档评论(0)