浅谈python 中正则的一些函数

 

     主要的函数有  :

  •  match()  
  • search()
  • findall()
  • group()
  • groups()
  • split()
  1.  match (): 含义  开头匹配,匹配成功返回一个对象失败则返回  none
     1 #!/usr/bin/python
     2 import re
     3 re.match('youshi','youshini')
     4 
     5 print  re.match
     6 
     7 
     8 返回的结果:
     9 [root@Cnyunwei ~]# python 1.py
    10 <function match at 0x7f19e6f6c1b8>

    2 不开头匹配
    #!/usr/bin/python
    import re   
    m=re.match('youshi','2222youshini')
                
    print  m   

    返回的结果:

    [root@Cnyunwei ~]# python 1.py
    None

    2.search()  和  match() 相似, 匹配成功返回一个对象失败则返回none,不通点在于它可以再一个字符串的任意位置匹配


     1 #!/usr/bin/python 
     2 import re   
     3 m=re.search('youshi','2222youshini')
     4             
     5 print  m   
     6 print  '*'*50
     7 c=re.search('123','789')
     8 print c 
     9 
    10 
    11 
    12 结果:
    13 [root@Cnyunwei ~]# python 1.py
    14 <_sre.SRE_Match object at 0x7f39a18521d0>
    15 **************************************************
    16 None

    3.findall    返回一个匹配的列表:

        

 1 #!/usr/bin/python 
 2 import re   
 3 m=re.findall('youshi','2222youshini')
 4             
 5 print  m   
 6 print  '*'*50
 7 c=re.findall('123','789')
 8 print c 
 9 
10 ~            
11 
12 结果:
13 [root@Cnyunwei ~]# python 1.py
14 ['youshi']
15 **************************************************
16 []

    4. grop() 返回匹配的对象值 如返回match ()  和 search() 函数对象具体的值如果这两个函数返回的对象为空则用group()会报错

 

    

#!/usr/bin/python 
import re   
m=re.search('youshi','2222youshini')
            
print  m   
m.group() 
print  '*'*50 
c=re.search('123','789')
print c
c.group()
    
~ 
结果:
<_sre.SRE_Match object at 0x7fd4db65e1d0>
**************************************************
None
           
下面没有匹配会:
AttributeError: 'NoneType' object has no attribute 'group'

 split   分割字符返回列表

 1 #!/usr/bin/python
 2 import re
 3 import os
 4 os.system('who >1.who')
 5 f=open('1.who','r')
 6 
 7 for i in  f.readlines() :
 8     print  re.split('/s/s+|\t',i.strip())
 9     print  '*'*50
10 
11 f.close()
12 结果:
13 [root@Cnyunwei ~]# python  1.who.py
14 ['root     tty1         2016-06-03 08:35']
15 **************************************************
16 ['root     pts/0        2016-06-03 12:10 (192.168.4.232)']
17 **************************************************
18 [root@Cnyunwei ~]# vim 1.who.py

 

     

 

posted @ 2016-06-07 16:26  下丶雨天  阅读(333)  评论(0编辑  收藏  举报