zoukankan      html  css  js  c++  java
  • 浅谈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

         

  • 相关阅读:
    POJ-1465 Multiple
    POJ-2585 Window Pains
    POJ-1094 Sorting It All Out
    Linux基础学习笔记1
    建议3---理解Python与C语言的不同之处
    堆排序的Python实现
    迭代器和生成器详解
    建议2---编写pythonic代码
    python中Switch/Case实现
    建议1---理解Pythonic的概念
  • 原文地址:https://www.cnblogs.com/yubenliu/p/5567421.html
Copyright © 2011-2022 走看看