Python程序设计基础05_3正则表达式ppt课件.pptx
《Python程序设计基础05_3正则表达式ppt课件.pptx》由会员分享,可在线阅读,更多相关《Python程序设计基础05_3正则表达式ppt课件.pptx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在此输入您的封面副标题Python程序设计基础程序设计基础05_3正则表达式正则表达式杭州师范大学杭州师范大学 虞歌虞歌 第第2页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组杭州师范大学杭州师范大学 虞歌虞歌 第第3页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组正则表达式正则表达式(regular expression)是一个用于匹配字符串的模板)是一个用于匹配字符串的模板。任何任何字符串都可以视为正则表达式,例如字符串都可以视为正则表达式,例如,字符串,字符串“Python”就是一个正则就是一个正则表达式,但它只能匹配字符串表达式,
2、但它只能匹配字符串“Python”,不能匹配其他字符串,不能匹配其他字符串。通常正则表达式能够匹配一批字符串通常正则表达式能够匹配一批字符串。正则表达式由普通字符和特殊字符构成。正则表达式由普通字符和特殊字符构成。杭州师范大学杭州师范大学 虞歌虞歌 第第4页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组下表中的特殊字符下表中的特殊字符被称为元字符。被称为元字符。 杭州师范大学杭州师范大学 虞歌虞歌 第第5页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组字符字符类类中的字符可以逐个列出,也可以给出范围。连字符中的字符可以逐个列出,也可以给出
3、范围。连字符-若出现在字符中若出现在字符中间,表示字符范围。特殊字符间,表示字符范围。特殊字符若出现在开头,表示取反。若出现在开头,表示取反。 -abc# 匹配匹配-、a、b、c中的任何一个字符中的任何一个字符a-c# 匹配匹配a、b、c中的任何一个字符中的任何一个字符abc# 匹配除了匹配除了a、b、c外的任何一个字符外的任何一个字符abc# 匹配匹配a、b、c中的任何一个字符中的任何一个字符0-9# 匹配匹配09的任何一个数字字符的任何一个数字字符0-9# 匹配任何一个非数字字符匹配任何一个非数字字符a-zA-Z# 匹配匹配az或或AZ的任何一个字符的任何一个字符a-zA-Z# 匹配除了匹
4、配除了az或或AZ外的任何一个字符外的任何一个字符杭州师范大学杭州师范大学 虞歌虞歌 第第6页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组分组分组()中的正则表达式作为一个整体,可以后跟数量词。分组中的中的正则表达式作为一个整体,可以后跟数量词。分组中的|仅在该组中仅在该组中有效。有效。(ab|cd)# 匹配匹配ab或或cd(ab)3# 匹配匹配ababab注意:注意:ab3则匹配则匹配abbb。杭州师范大学杭州师范大学 虞歌虞歌 第第7页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组下表是正则表达式提供的若下表是正则表达式提供的若干预
5、定义字符类。干预定义字符类。杭州师范大学杭州师范大学 虞歌虞歌 第第8页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组在在Python中,中,表示转义字符的表示转义字符的前缀。在前缀。在正则表达式中,一些特殊字符也以正则表达式中,一些特殊字符也以作为作为前缀前缀。匹配。匹配一个数字的一个数字的d,在,在Python中应表示中应表示为为“d”。也可以使用。也可以使用Python的原的原生生字符串字符串rd。rbthe# 匹配匹配任何以任何以the开头的开头的字符串字符串rerb# 匹配匹配“never”中的中的“er”,不能,不能匹配匹配“verb”中的中的“er”,
6、只关心单词后边的,只关心单词后边的字符字符rerB# 匹配匹配“verb”中的中的“er”,不能,不能匹配匹配“never”中的中的“er”,只关心单词中间的,只关心单词中间的字符字符ra-zA-Z_w$*# Python标识符标识符rd*02468# 偶数偶数杭州师范大学杭州师范大学 虞歌虞歌 第第9页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组下表是正则表达式提供的若干下表是正则表达式提供的若干特殊分组。特殊分组。rb(?Pw+)bs+(?P=my_group1)b,(w+)的编号为的编号为1、别名为、别名为my_group1,后面的,后面的(?P=my_gr
7、oup1)引用前面的引用前面的(w+)。rb(w+)bs+1b,(w+)的编号为的编号为1,后面的,后面的1引用前面的引用前面的(w+)。杭州师范大学杭州师范大学 虞歌虞歌 第第10页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组正则表达式中反正则表达式中反斜杠斜杠的的作用。作用。反斜反斜杠杠后边后边跟特殊字符去除特殊功能,即特殊字符转义成普通字符;跟特殊字符去除特殊功能,即特殊字符转义成普通字符;反斜反斜杠杠后边后边跟普通字符实现特殊功能,即预定义字符类;跟普通字符实现特殊功能,即预定义字符类;引用分组编号对应的分组引用分组编号对应的分组。Python默认使用贪婪
8、模式,即总是尝试匹配尽可能多的字符默认使用贪婪模式,即总是尝试匹配尽可能多的字符。而懒惰。而懒惰模式则相模式则相反,总是尝试匹配尽可能少的字符反,总是尝试匹配尽可能少的字符。对于对于“abbbc”,正则表达式,正则表达式ab*贪婪匹配将找到贪婪匹配将找到“abbb”;正则表达式;正则表达式ab*?懒惰匹懒惰匹配将找到配将找到“a”。注意,加个注意,加个?就可以让就可以让ab*采用懒惰匹配。采用懒惰匹配。杭州师范大学杭州师范大学 虞歌虞歌 第第11页页Python程序设计基础程序设计基础字符串、列表和元组字符串、列表和元组Python通过通过re模块提供了对正则表达式的支持。模块提供了对正则表达
9、式的支持。要要使用使用re模块处理正则表达式,必须先导入模块处理正则表达式,必须先导入re模块:模块:import re。re模块首先编译正则表达式,如果正则表达式本身不合法,会报错;然后用编译后模块首先编译正则表达式,如果正则表达式本身不合法,会报错;然后用编译后的正则表达式的正则表达式去匹配字符串。去匹配字符串。假设假设pattern是正则表达式;是正则表达式;string是要匹配的字符串;是要匹配的字符串;flags是匹配模式。是匹配模式。re.match(pattern, string, flags=0),如果,如果在字符串在字符串起始位置起始位置匹配成功就返回匹配成功就返回匹配对匹配
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 程序设计 基础 05 _3 正则 表达式 ppt 课件
限制150内