主要的函数有  :

  • match()
  • search()
  • findall()
  • group()
  • groups()
  • split()
  1.  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
    None

    2.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>
    **************************************************
    None

    3.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

浅谈python 中正则的一些函数的更多相关文章

  1. 浅谈python中的闭包函数

    闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("hello worl ...

  2. 浅谈python中得import xxx,from xxx import xxx, from xxx import *

    在python中import跟from import都是用来导入的,但是导入的机制不同 1.import xxx:导入模块,或者文件夹,对于调用模块或者文件夹中子模块的变量或者函数,需要使用" ...

  3. 浅谈python中文件和文件夹的相关操作

    文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...

  4. 浅谈python中的“ ==” 与“ is”

    在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制.扯淡的话不多说,下面马上 ...

  5. 浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC

    1.函数式编程作为结构化编程的一种,正在受到越来越多的重视.那么什么事函数式编程呢? 在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算.简单的来 ...

  6. 浅谈python中字典append 到list 后值的改变问题

    看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...

  7. 浅谈Python 中 __getattr__与__getattribute__的区别

    __getattr__与__getattribute__均是一般实例属性截取函数(generic instance attribute interception method),其中,__getatt ...

  8. 浅谈python中的“ ==” 与“ is”、还有cmp

    总之,比较内容相等使用 ‘==’ 1.is" 是用来比较 a 和 b 是不是指向同一个内存单元,而"=="是用来比较 a 和 b指向的内存单元中的值是不是相等 2.pyt ...

  9. 浅谈python中__str__和__repr__的区别

    很多时候我们在创建一个类的时候,在终端打印类或者查看的时候一般都不会得到一个太满意的结果 class T: def __init__(self): self.color="red" ...

随机推荐

  1. Python内置数据结构之字典dict

    1. 字典 字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下.键可能是数(整数索引).字符串或元组.字典(日常生活中的字典和Python字典)旨在让你能够轻松地找到特定的单 ...

  2. Python介绍与学习

    Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python是纯粹的自由软件, 源代码和解释器CPy ...

  3. 再次理解JS的prototype,__proto__和constructor

    个人总结: 下面这篇文章很好的讲解了js原型,原型链,个人的总结是要记住这三个属性 prototype.__proto__和constructor 首先明确,js中一切都是对象object(A). ( ...

  4. 模板 NTT 快速数论变换

    NTT裸模板,没什么好解释的 这种高深算法其实也没那么必要知道原理 #include <cstdio> #include <cstring> #include <algo ...

  5. tensorflow的tf.train.Saver()模型保存与恢复

    将训练好的模型参数保存起来,以便以后进行验证或测试.tf里面提供模型保存的是tf.train.Saver()模块. 模型保存,先要创建一个Saver对象:如 saver=tf.train.Saver( ...

  6. Git 合并流程

    首先把自己的代码提交到自己的分支 再把master[主分支]的代码拉下来更新 解决冲突 推送至自己的分支 请求合并到master[主分支]

  7. 小学生都能学会的python(字典{ })

    小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林 ...

  8. 2015 Multi-University Training Contest 6 hdu 5361 In Touch

    In Touch Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  9. Eclipse配置Maven私服

    Eclipse配置Maven私服 前言: 搭建Maven私有仓库的主要目的,是为了在团队多人开发时,只要内网的私有仓库有下载过依赖的jar包,就直接从私有仓库获取,不再通过外网的中央仓库.如果私服上面 ...

  10. Executors线程池关闭时间计算

    Executors线程池关闭时间计算 学习了:http://blog.csdn.net/wo541075754/article/details/51564359 https://www.cnblogs ...