下载此文档

Python正则表达式模块re讲解.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
在上面的说明中,我们已经对re模块的基本函数 ‘findall’很熟悉了。当然如果光有findall的话,很多功能是不能实现的。下面开始介绍一下re模块其它的常用基本函数。灵活搭配使用这些函数,才能充分发挥Python正则式的强大功能。首先还是说下老熟人findall函数吧findall(rule,target[,flag])在目标字符串中查找符合规则的字符串。第一个参数是规则,第二个参数是目标字符串,后面还可以跟一个规则选项(pile函数的说明中详细说明)。返回结果结果是一个列表,中间存放的是符合规则的字符串。如果没有符合规则的字符串被找到,就返回一个空列表。 pile(rule[,flag])将正则规则编译成一个Pattern对象,以供接下来使用。第一个参数是规则式,第二个参数是规则选项。返回一个Pattern对象直接使用findall(rule,target)的方式来匹配字符串,一次两次没什么,如果是多次使用的话,由于正则引擎每次都要把规则解释一遍,而规则的解释又是相当费时间的,所以这样的效率就很低了。如果要多次使用同一规则来进行匹配的话,pile函数来将规则预编译,使用编译过返回的RegularExpressionObject或叫做Pattern对象来进行查找。>>>s='111,222,aaa,c333,444ddd'>>>rule=r’\b\d+\b’>>>compiled_rule=pile(rule)>>>(s)['111','222']pile函数还可以指定一些规则标志,来指定一些特殊选项。多个选项之间用 ’|’(位或)连接起来。I      IGNORECASE 忽略大小写区别。 L   LOCAL  字符集本地化。这个功能是为了支持多语言版本的字符集使用环境的,比如在转义符\w,在英文环境下,它代表[a-zA-Z0-9],即所以英文字符和数字。如果在一个法语环境下使用,缺省设置下,不能匹配"é" 或 "ç"。加上这L选项和就可以匹配了。不过这个对于中文环境似乎没有什么用,它仍然不能匹配中文字符。 M    MULTILINE  多行匹配。在这个模式下’^’(代表字符串开头)和’$’(代表字符串结尾)将能够匹配多行的情况,成为行首和行尾标记。比如>>>s=’123456\n789012\n345 678’>>>rc=pile(r’^\d+’)    #匹配一个位于开头的数字,没有使用M选项>>>(s)['123']             #结果只能找到位于第一个行首的’123’>>>rcm=pile(r’^\d+’,)       #使用 M 选项>>>(s)['123','789','345']  #找到了三个行首的数字同样,对于’$’来说,没有使用M选项,它将匹配最后一个行尾的数字,即’678’,加上以后,就能匹配三个行尾的数字456012和678了.>>>rc=pile(r’\d+$’)>>>rcm=pile(r’\d+$’,)>>>(s)['678']>>>(s)['456','012','678'] S     DOTALL       ‘.’号将匹配所有的字符。缺省情况下

Python正则表达式模块re讲解 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fy3986758
  • 文件大小47 KB
  • 时间2019-05-18