《数据采集技术》课件-正则表达式_第1页
《数据采集技术》课件-正则表达式_第2页
《数据采集技术》课件-正则表达式_第3页
《数据采集技术》课件-正则表达式_第4页
《数据采集技术》课件-正则表达式_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

正则表达式Contents知识目标掌握正则表达式常用语法技能目标提高数据分析和处理能力素养目标培养良好的信息素养和道德意识正则表达式RegularExpression,简称RE常用于:检索、替换符合某个模式的文本正则表达式是一段字符串,可以表示一段有规律的信息。正则表达式RegularExpression,简称REPython自带一个正则表达式模块,通过这个模块可以:查找、提取、替换一段有规律的信息Python正则表达式模块Python标准库中的re模块提供正则表达式的全部功能,可以直接引入。importre正则表达式的模式正则表达式的模式内容字面值字符例如字母、数字、空格等,可以直接匹配它们自身。特殊字符例如点号.、星号*、加号+、问号?等,它们具有特殊的含义和功能。字符类用方括号[]包围的字符集合,用于匹配方括号内的任意一个字符。元字符例如\d、\w、\s等,用于匹配特定类型的字符,如数字、字母、空白字符等。量词例如{n}、{n,}、{n,m}等,用于指定匹配的次数或范围。边界符号例如^、$、\b、\B等,用于匹配字符串的开头、结尾或单词边界位置。正则表达式的模式方法说明compile将正则表达式的字符串转化为Pattern匹配对象。match将输入的字符串从头开始对输入的正则表达式进行匹配,一直向后直至遇到无法匹配的字符或到达字符串末尾,将立即返回None,否则获取匹配结果。search将输入的字符串整个扫描,对输入的正则表达式进行匹配,获取匹配结果,否则输出None。split按照能够匹配的字符串作为分隔符,将字符串分割后返回一个列表。findall搜索整个字符串,返回一个列表包含全部能匹配的子串。finditer与findall方法作用类似,以迭代器的形式返回结果。sub使用指定内容替换字符串中匹配的每一个子串内容。re模块中常用的方法如下表所示re模块中常用的方法将正则表达式的字符串转化为Pattern匹配对象,compile方法的语法格式:pile(pattern[,flags])pattern一个字符串形式的正则表达式flag一个可选参数,表示匹配模式比如忽略大小写,多行模式等compile方法re模块中常用的方法flag参数的可选值如表所示:可选值说明re.I忽略大小写re.M多行模式,改变“^”和“$”的行为re.S“.”任意匹配模式,改变“.”的行为re.L使预定字符类\w\W\b\B\s\S取决与当前区域设定re.U使预定字符类\w\W\b\B\s\S\d\D取决于unicode定义的字符属性re.X详细模式,该模式下正则表达式可为多行,忽略空白字符并可加入注释compile方法re模块中常用的方法搜索整个string,返回一个列表包含全部能匹配的子串,其语法格式如下:re.findall(pattern,string[,flags])参数说明pattern接收Pattern实例。表示转换后的正则表达式。无默认值。string接收string。表示输入的需要匹配的字符串。无默认值。flag接收string。表示匹配模式,取值为运算符“|”时表示同时生效,如re.I|re.M。默认为None。findall方法re模块中常用的方法常用的参数如表所示:参数说明pattern接收Pattern实例。表示转换后的正则表达式。无默认值。string接收string。表示输入的需要匹配的字符串。无默认值。flag接收string。表示匹配模式,取值为运算符“|”时表示同时生效,如re.I|re.M。默认为None。findall方法正则表达式的基本符号可以代替除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点符号和中文标点符号。可以表示它前面的一个子表达式(普通字符、另一个或几个正则表达式符号)0次到无限次。表示它前面的子表达式0次或者1次。注意是英文问号。1.点号“.”2.星号“*”3.问号“?”正则表达式的基本符号4.反斜杠“\”在正则表达式里面不能单独使用,在整个Python里都不能单独使用。需要和其他的字符配合使用:特殊符号普通符号变成“\n”一个普通的字母“\n”换行符例如:正则表达式的基本符号4.反斜杠“\”在正则表达式里面不能单独使用,甚至在整个Python里都不能单独使用。反斜杠需要和其他的字符配合使用来把特殊符号变成普通符号,把普通符号变成特殊符号。特殊符号普通符号功能:变成“\n”一个普通的字母“\n”换行符例如:正则表达式的基本符号Python开发中经常遇到的转义字符转义字符在字符串中插入特殊字符或控制结构。一个或多个字符开头后面反斜杠(\)正则表达式的基本符号Python开发中经常遇到的转义字符转义字符在字符串中插入特殊字符或控制结构。反斜杠(\)开头后面跟着一个或多个字符正则表达式的基本符号Python开发中经常遇到的转义字符转义字符意义\n换行符,将文本分成多行\t制表符,将文本分成多个列\\普通的反斜杠\’表示单引号\”表示双引号\d表示一位数字示例1正则表达式解析中文importre#待匹配的字符串title="我爱,hello,我的祖国"#创建正则表达式,用于只匹配中文pattern=pile(r"[\u4e00-\u9fa5]+")result=pattern.findall(title)print(result)运行后结果:['我爱','我的祖国']示例2解析某度首页的网页标题(之间的文本内容)运行后结果:['某度一下,你就知道']importreimportrequestsresponse=requests.get("/")r=response.text.encode(response.encoding).decode('utf-8')title_re=r'<title>(.*?)</title>'result=re.findall(title_re,r)print(result)示例3解析某浪潮首页(/)的所有链接importreimportrequestsresponse=requests.get("/")r=response.text.encode(response.encoding).decode('utf-8')#print(r)url_re=r'<ahref="(.*?)">.*?</a>'urls=re.findall(url_re,r)forurlinurls:print(url)示例3运行后结果://lcjtww/gylc32/2346042/index.html"target="_blank/"target="_blank"class="mc_nav_a/"target="_blank"class="mc_nav_a//.....解析某浪潮首页(/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论