zhenggaoxiong

python正则表达式之re模块使用

python第一个正则表达式

https://www.imooc.com/learn/550

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'

 

posted @ 2018-07-28 22:23  zhenggaoxiong  阅读(315)  评论(0编辑  收藏  举报