主要的函数有  :

  • 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. 纯css实现宽度自适应,高度与宽度成比例

    html: <div></div> css div{ width: 33.33%; box-sizing: border-box; float: left; position: ...

  2. kernel zram feature

    what is zram? Zram wiki zram zram(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩.zram 通过在 RAM 内的压 ...

  3. 一些css兼容问题

    由于各浏览器的不同,会存在一些兼容问题,特别是兼容IE6/7/8 下面简单介绍了一些解决方法,更多问题可以访问 W3help.org来查看. 可以通过js获取浏览器版本 document.body.i ...

  4. BZOJ 5180 [Baltic2016]Cities(斯坦纳树)

    斯坦纳树的板子题. 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种. 最小生成树是在给定的点集和边中寻求最短网络使所有点连通. 而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网 ...

  5. Shell(一)变量

    一.简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用 ...

  6. php 文件加载方式

    两种加载文件的方式 include require 使用场景: 动态加载文件的时候,使用include,否则使用require. 示例: # 引入php文件--include方式 inlcude(&q ...

  7. 单元测试Struts2的Action(包含源码)

    很久没有从头搭建Struts2的环境了.最近,认真实践了单元测试Struts2.Spring等Java项目. 今天特意写的是单元测试Struts2的Action,遇到了不少问题,果然是实践出真知啊. ...

  8. 使用展开操符作替代 .apply() (prefer-spread)

    在ES2015以前,你必须使用Function.prototype.apply()来调用可变函数. var args = [1, 2, 3, 4]; Math.max.apply(Math, args ...

  9. jquery获得url的get参数

    只是用了第一种方法,简单好用直接传入想要获取的参数名,即可返回参数值 function GetQueryString(name) {      var reg = new RegExp("( ...

  10. mysql存储小数

    线下不知道什么版本的古董了,经本人亲测,varchar类型的数据,可以直接执行mysql的sum函数. ________________________________________________ ...