浅谈python 中正则的一些函数
主要的函数有 :
- match()
- search()
- findall()
- group()
- groups()
- split()
- 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
- #!/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 中正则的一些函数的更多相关文章
- 浅谈python中的闭包函数
闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("hello worl ...
- 浅谈python中得import xxx,from xxx import xxx, from xxx import *
在python中import跟from import都是用来导入的,但是导入的机制不同 1.import xxx:导入模块,或者文件夹,对于调用模块或者文件夹中子模块的变量或者函数,需要使用" ...
- 浅谈python中文件和文件夹的相关操作
文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...
- 浅谈python中的“ ==” 与“ is”
在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制.扯淡的话不多说,下面马上 ...
- 浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC
1.函数式编程作为结构化编程的一种,正在受到越来越多的重视.那么什么事函数式编程呢? 在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算.简单的来 ...
- 浅谈python中字典append 到list 后值的改变问题
看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...
- 浅谈Python 中 __getattr__与__getattribute__的区别
__getattr__与__getattribute__均是一般实例属性截取函数(generic instance attribute interception method),其中,__getatt ...
- 浅谈python中的“ ==” 与“ is”、还有cmp
总之,比较内容相等使用 ‘==’ 1.is" 是用来比较 a 和 b 是不是指向同一个内存单元,而"=="是用来比较 a 和 b指向的内存单元中的值是不是相等 2.pyt ...
- 浅谈python中__str__和__repr__的区别
很多时候我们在创建一个类的时候,在终端打印类或者查看的时候一般都不会得到一个太满意的结果 class T: def __init__(self): self.color="red" ...
随机推荐
- bzoj 2648: SJY摆棋子 KDtree + 替罪羊式重构
KDtree真的很妙啊,真的是又好写,作用还多,以后还需更多学习呀. 对于这道题,我们求的是曼哈顿距离的最小值. 而维护的变量和以往是相同的,就是横纵坐标的最小值与最大值. 我们设为一个极为巧妙且玄学 ...
- Pyhton学习——Day39
# CSS的常用属性# 1 颜色属性# <div style="color:rgb(255,0,0)">ppppp</div># 2 字体属性# font- ...
- C# 基础复习 三 XML操作
XML 可扩展标记语言(所有标签都是自己定义,没有固定格式) 如果要给XML规定格式,可以使用dtd (dtd是什么?你不会自己百度吗) XML主要用来存储数据 XML的要求: 根节点只能有一 ...
- 关于mysql无法添加中文数据的问题以及解决方案(转载)
今天弄了一天的mysql数据库,就是被一个mysql数据库乱码的问题给缠住了.现在记录一下这个问题,虽然这个问题不是什么太大的事情,但还是记录一下. 问题是这样的: 1.先在mysql的安装文件当中, ...
- laravel 模板
1.{!! $data !!} $data不会被转义
- web前端开发技术栈分析图
- 推荐几款常用的Eclipse插件
Eclipse 应该说是老牌也是最常用的Java开发工具,尽管这几年 InstelliJ IDEA 的发展势头很强劲,身边使用和推崇的人也大有人在,但个人而言还是觉有些不太习惯.这里也介绍几款自己常用 ...
- 11g,12c Oracle Rac安装
安装 Oracle 12cR1 RAC on Linux 7 本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application Cluster(RAC) ...
- sql学习笔记(18)-----------数据库创建过程
手动创建数据库的步骤: 第一步:决定数据库实例的SID 数据库实例的SID用来将当前实例和以后可能创建的实例进行区分 % setenv ORACLE_SID mynewdb 第二步:建立数 ...
- EditText电话号码格式化输入、删除案例
我们在输入电话号码的时候,一般都会切割一个较长的电话号码.这种话效果会好非常多..对EditText的监听能够轻松的实现这个需求.仅仅须要我们给相应的EditText加一个监听就OK了..贴一下我写的 ...