Python re模块 正则表达式之compile函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python re模块 正则表达式之compile函数相关的知识,希望对你有一定的参考价值。
参考技术A为了重复利用同一个正则对象,需要多次使用这个正则表达式的话,使用re.compile()保存这个正则对象以便复用,可以让程序更加高效。
1)re.compile
参数:
re.I 忽略大小写
re.L 表示特殊字符集 w, W, b, B, s, S 依赖于当前环境
re.M 多行模式
re.S 即为\' . \'并且包括换行符在内的任意字符(\' . \'不包括换行符)
re.U 表示特殊字符集 w, W, b, B, d, D, s, S 依赖于 Unicode 字符属性数据库
re.X 为了增加可读性,忽略空格和\' # \'后面的注释
案例:
在上面,当匹配成功时返回一个 Match 对象,其中:
2)re.findall
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。
参数:
案例:
3)re.finditer
和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
案例:
4)re.split
split 方法按照能够匹配的子串将字符串分割后返回列表。
案例:
从上篇Python re模块 正则表达式到这篇,我们已经把常用的正则匹配的方法学会了。
关注我,坚持每日积累一个技巧, 长期坚持 ,我们将会不断进步。
#python# #程序员# #请回答,你的年度知识点# #教育听我说# #计算机#
python正则表达式之re模块使用
python第一个正则表达式
r‘imooc‘ Pattern Match result
In [2]: import re In [3]: pa = re.compile(r‘imooc‘) #re的compile方法生成pattern对象 In [4]: type(pa) Out[4]: _sre.SRE_Pattern In [5]: pa. pa.findall pa.fullmatch pa.match pa.search pa.subn pa.finditer pa.groupindex pa.pattern pa.split pa.flags pa.groups pa.scanner pa.sub In [8]: str = ‘imooc python‘ In [9]: pa.match(str) #pattern对象的match方法对字符串进行匹配 Out[9]: <_sre.SRE_Match object; span=(0, 5), match=‘imooc‘> In [10]: ma = pa.match(str) In [11]: ma. ma.end ma.group ma.lastgroup ma.re ma.start ma.endpos ma.groupdict ma.lastindex ma.regs ma.string ma.expand ma.groups ma.pos ma.span In [11]: ma.group() Out[11]: ‘imooc‘ #返回匹配到的字符串 In [15]: ma.span() Out[15]: (0, 5) #返回匹配到的字符串下标索引
In [1]: import re In [2]: pa = re.compile(r‘imooc‘,re.I) #忽略字母大小写 In [3]: pa Out[3]: re.compile(r‘imooc‘, re.IGNORECASE|re.UNICODE) In [4]: ma = pa.match(‘imooc python‘) In [5]: ma.group() Out[5]: ‘imooc‘ In [6]: ma = pa.match(‘Imooc python‘) In [7]: ma.group() Out[7]: ‘Imooc‘ In [8]: ma = pa.match(‘ImoOc python‘) In [9]: ma.group() Out[9]: ‘ImoOc‘ In [10]: ma.groups() Out[10]: () In [11]: pa = re.compile(r‘(imooc)‘,re.I) In [12]: ma = pa.match(‘imooc‘) In [13]: ma.group() Out[13]: ‘imooc‘ In [14]: ma.groups() Out[14]: (‘imooc‘,) #以分组的形式返回 In [15]: ma = re.match(r‘imooc‘,‘imooc python‘) #compile和match可进行合并 In [16]: ma.group() Out[16]: ‘imooc‘
以上是关于Python re模块 正则表达式之compile函数的主要内容,如果未能解决你的问题,请参考以下文章