• 浅谈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+|	',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

         

  • 相关阅读:
    js显示当前时间
    js平滑循环滚动,广告图片文字…
    记录报错Cannot set property 'innerHTML' of null
    回到顶部的几种方法
    vue表单验证 Vee-Validate 的使用
    Vue @mouseover和@mouseout实现下拉二级导航
    线性代数学习笔记——第四章
    线性代数学习笔记——第三章
    线性代数学习笔记——第二章(下)
    线性代数学习笔记——第二章(上)
  • 原文地址:https://www.cnblogs.com/yubenliu/p/5567421.html
Copyright © 2020-2023  润新知