Python程序设计:常用匹配规则.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
邮箱验证任务邮箱验证任务背景本任务是利用正则表达式对邮箱进行校验。邮箱具有一定的规则,在用户注册邮箱时,必须遵守这些规则。正则表达式是一个特殊的字符序列,它能方便的检查一个字符串是否与某种模式匹配,利用正则可以快速准确的对邮箱进行校验。任务邮箱验证任务知识点正则表达式概念与语法常用匹配规则正则表达式检索与替换知识点:常用匹配规则常用匹配规则重复匹配前面的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配

邮箱验证 任务 邮箱验证 任务背景 本任务是利用正则表达式对邮箱进行校验。邮箱具有一定的规则,在用户注册邮箱时,必须遵守这些规则。正则表达式是一个特殊的字符序列,它能方便的检查一个字符串是否与某种模式匹配,利用正则可以快速准确的对邮箱进行校验。 任务 邮箱验证 任务知识点 正则表达式概念与语法 常用匹配规则 正则表达式检索与替换 知识点:常用匹配规则 常用匹配规则 重复匹配 前面的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。但是有时候我们需要对某个片段进行重复匹配,这种情况可以使用表达式再加上修饰匹配次数的特殊符号{},不用重复书写表达式就可以重复匹配。比如[abcd][abcd]可以写成[abcd]{2},重复匹配的规则如下所示。 表达式 匹配 {n} 表达式重复n次,比如\d{2}相当于\d\d,a{3}相当于aaa {m,n} 表达式至少重复m次,最多重复n次。比如ab{1,3}可以匹配ab或abb或abbb {m,} 表达式至少重复m次,比如\w\d{2,}可以匹配a12,_1111,M123等等 ? 匹配表达式0次或者1次,相当于{0,1},比如a[cd]?可以匹配a,ac,ad + 表达式至少出现1次,相当于{1,},比如a+b可以匹配ab,aab,aaab等等 * 表达式出现0次到任意次,相当于{0,},比如\^*b可以匹配b,^^^b等等 常用匹配规则 重复匹配 匹配是需要注意字符和字符串,比如ab{1,3}中重复的是b而不是ab,(ab){1,3}这样重复的才是ab。 import re # group()函数,匹配的数据,以字符串返回 print(re.search(\d{2,3}, abc123).group()) print(re.search(\d{2,3}, abc1)) 运行结果: 123 None 常用匹配规则 位置匹配 如果对匹配出现的位置有要求,比如开头、结尾、单词之间等等,这就需要位置匹配,相应的规则。 表达式 匹配 ^ 在字符串开始的地方匹配,符号本身不匹配任何字符 $ 在字符串结束的地方匹配,符号本身不匹配任何字符 \b 匹配一个单词边界,也就是单词和空格之间的位置,符号本身不匹配任何字符 \B 匹配非单词边界,即左右两边都是\w范围或者左右两边都不是\w范围时的字符缝隙 ^ 在字符串开始的地方匹配,符号本身不匹配任何字符 $ 在字符串结束的地方匹配,符号本身不匹配任何字符 常用匹配规则 位置匹配 匹配是需要注意字符和字符串,比如ab{1,3}中重复的是b而不是ab,(ab){1,3}这样重复的才是ab。 import re print(re.search(^a, abc123a).span()) # 从开头匹配 print(re.search(a$, abc123a).span()) # 从末尾匹配 运行结果: (0, 1) (6, 7) 常用匹配规则 贪婪与非贪婪模式 在重复匹配时,正则表达式默认总是尽可能多的匹配,这被称为贪婪模式。比如.*匹配任意字符时会尽可能长地向后匹配,如果我们想阻止这种贪婪模式,需要加个问号,尽可能少地匹配,同理,带有*和{m,n}的重复匹配表达式都是尽可能地多匹配 常用匹配规则 贪婪与非贪婪模式 import re html = h1 hello world /h1 # findall(): 在整个字符串中查找所有满足规则的字符,并返回成列表 re.findall(.*, html) # 贪婪模式默认匹配到所有内容 re.findall(.*?, html) # 我们想匹配两个标签的内容,可以加上问号来阻止贪婪模式 运行结果: [h1 hello world /h1] [h1, /h1] 常用匹配规则 重复匹配 位置匹配 贪婪与非贪婪模式 小结 谢谢观看

文档评论(0)

ZuiFeng + 关注
实名认证
文档贡献者

分享文档,资源共享

1亿VIP精品文档

相关文档