主要的函数有 :
- match()
- search()
- findall()
- group()
- groups()
- split()
-
match (): 含义 开头匹配,匹配成功返回一个对象失败则返回 none
#!/usr/bin/python
import re
re.match('youshi','youshini') print re.match 返回的结果:
[root@Cnyunwei ~]# python 1.py
<function match at 0x7f19e6f6c1b8> 2 不开头匹配
#!/usr/bin/python
import re
m=re.match('youshi','2222youshini')
print m 返回的结果: [root@Cnyunwei ~]# python 1.py
None2.search() 和 match() 相似, 匹配成功返回一个对象失败则返回none,不通点在于它可以再一个字符串的任意位置匹配
#!/usr/bin/python
import re
m=re.search('youshi','2222youshini') print m
print '*'*50
c=re.search('','')
print c 结果:
[root@Cnyunwei ~]# python 1.py
<_sre.SRE_Match object at 0x7f39a18521d0>
**************************************************
None3.findall 返回一个匹配的列表:
#!/usr/bin/python
import re
m=re.findall('youshi','2222youshini') print m
print '*'*50
c=re.findall('','')
print c ~ 结果:
[root@Cnyunwei ~]# python 1.py
['youshi']
**************************************************
[]
4. grop() 返回匹配的对象值 如返回match () 和 search() 函数对象具体的值如果这两个函数返回的对象为空则用group()会报错
#!/usr/bin/python
import re
m=re.search('youshi','2222youshini') print m
m.group()
print '*'*50
c=re.search('','')
print c
c.group() ~
结果:
<_sre.SRE_Match object at 0x7fd4db65e1d0>
**************************************************
None 下面没有匹配会:
AttributeError: 'NoneType' object has no attribute 'group'
split 分割字符返回列表
#!/usr/bin/python
import re
import os
os.system('who >1.who')
f=open('1.who','r') for i in f.readlines() :
print re.split('/s/s+|\t',i.strip())
print '*'*50 f.close()
结果:
[root@Cnyunwei ~]# python 1.who.py
['root tty1 2016-06-03 08:35']
**************************************************
['root pts/0 2016-06-03 12:10 (192.168.4.232)']
**************************************************
[root@Cnyunwei ~]# vim 1.who.py