python的re模块总结.docxVIP

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

Python之re模块Python用?\\\\?表示正则表达式中的 \ ,因为正则表达式中如果要匹配 \ ,需要用\来转义,变成 \\ ,而Python语法中又需要对字符串中每一个\进行转义,所以就变成了?\\\\?。为了使正则表达式具有更好的可读性,Python特别设计了原始字符串(raw string) raw string就是用r作为字符串的前缀,如 r\n:表示两个字符\和n,而不是换行符了。Python中写正则表达式时推荐使用这种形式。例如: 可以使用’funshion\\.com’或者r’funshon\.com’进行匹配需要提醒你的是,在写文件路径的时候就不要使用raw string了,这里存在陷阱。?一:Re模块正则匹配:(1)\d 匹配任何十进制数;它相当于类 [0-9]。\D 匹配任何非数字字符;它相当于类 [^0-9]。\s 匹配任何空白字符;它相当于类 [ fv]。\S 匹配任何非空白字符;它相当于类 [^ fv]。\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]。具有重复功能的元字符:* 对于前一个字符重复0到无穷次+对于前一个字符重复1到无穷次?对于前一个字符重复0到1次{m,n} 对于前一个字符重复次数在为m到n次,其中,{0,} = *,{1,} = , {0,1} = ?{m} 对于前一个字符重复m次(2)^和$m = re.search(r(www\.)?funshion\.com,str)可以匹配 XXX.m = re.search(r^(www\.)?funshion\.com,str)可以匹配和 在元字符[]中,^在不同位置所代表的意义。  re.search([^abc],abcd)??#^在首字符表示取反,即abc之外的任意字符。 _sre.SRE_Match object at 0x011B19F8  m=re.search([^abc],abcd)  m.group() d  m=re.search([abc^],^)??#如果^在[ ]中不是首字符,那么那就是一个普通字符  m.group() ^元字符($)匹配字符串的结尾或者字符串结尾的换行之前。m=re.search(foo.$,foo1\nfoo2\n,re.MULTILINE)print m.group()foo1(3)有几点注意的地方:1.{m.n}用来表示前面正则表达式重复m到n次,尝试匹配尽可能多的copy。 re.findall(a{2,4},aaaaaaaa)[aaaa, aaaa]#可以看到{m,n},正则表达式优先匹配n,而不是m,因为结果不是[aa,aa,aa,aa] re.findall(a{2},aaaaaaaa)[aa, aa, aa, aa]#匹配重复两次 re.findall(a{2,4}?,aaaaaaaa)[aa, aa, aa, aa]#{m,n}???用来表示前面正则表达式的m到n次copy,尝试匹配尽可能少的copy 2.元字符“.”在默认模式下,匹配除换行符外的所有字符。在DOTALL模式下,匹配所有字符,包括换行符。 m=re.match(.,\n) print mNone m=re.match(.,\n,re.DOTALL)print #,m.group(),###3.可以将匹配模式赋值给变量:pat=’[a-zA-Z]+’text=’”Hm…Er…funshion?”funshion!’m=re.findall(pat,text)print m[Hm, Er, funshion, funshion]re模块主要函数pile(pattern, flags=0)编译正则表达式,返回RegexObject对象,然后可以通过RegexObject对象调用match()和search()方法。prog = pile(pattern)result = prog.match(string)跟result = re.match(pattern, string)是等价的。re.search()和re.match()str=m = re.match(rwww,str) m不为None 等同于 m=re.search(r’^www’,str)m = re.match(rcom,str) m等于Nonem=re.search(r’com’,str) m不为Nonere.split(pattern, string, maxsplit=0)通过正则表达式将字符串分离。如果用括号将正则表达式括起来,那么匹配的字符串也会被列入到list中返回。maxsplit是分离的次数,maxsplit=1分离一次,

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档