Python re模块下的常用方法

import re

# findall
# search
# match

# ret = re.findall(‘a‘,‘eva egon yuan‘)
# # 返回所有满足条件的结果,放在列表里
# print(ret)

# ret = re.search(‘a‘,‘eva egon yuan‘)
# if ret:
#     print(ret.group())
# # 从前往后,找到一个就返回,返回的变量需要调用group才能拿到结果
# # 如果没有找到,那么返回None,调用group会报错

# ret = re.match(‘[a-z]+‘,‘eva egon yuan‘)
# if ret:
#     print(ret.group())
# # match是从头开始匹配,如果正则从头开始可以匹配上,就返回一个变量
# # 匹配的内容需要用group才能显示
# # 如果没匹配上,就返回None,调用group会报错

# ret = re.split(‘[ab]‘,‘abcd‘)
# print(ret)      # [‘‘, ‘cd‘]
# # 先按‘a‘进行分割得到‘‘和‘bcd‘.分别按‘b‘分割

# ret = re.sub(‘\d‘,‘H‘,‘eva3egon4yuan4‘,1)
# print(ret)
# # 将数字替换成‘H’,参数1表示只替换1个

# ret = re.subn(‘\d‘,‘H‘,‘eva3egon4yuan4‘)
# print(ret)
# # 将数字替换成‘H‘,返回元组(替换的结果,替换了多少次)

# compile 编译正则表达式成为对象
# obj = re.compile(‘\d{3}‘)
# # 将正则表达式编译成为一个正则表达式对象,规则要匹配的是3个数字
# ret = obj.search(‘abc123eee‘) # 正则表达式对象调用search,参数为待匹配的字符串
# print(ret.group()) #结果:123

# finditer 迭代
# ret = re.finditer(‘\d‘,‘ds3su4784a‘) # finditer 返回一个匹配结果的迭代器
# # print(ret) # <callable_iterator object at 0x000001BC77390E48>
# # print(next(ret).group()) # 查看第一个结果
# # print(next(ret).group()) # 查看第二个结果
# # print([i.group() for i in ret]) # 查看剩余的结果
# for i in ret:
#     print(i.group())

# 分组
# ret = re.search(‘^[1-9](\d{14})(\d{2}[0-9x])‘,‘411403198606166078‘)
# print(ret.group())
# print(ret.group(1))
# print(ret.group(2)) # 正则表达式里有几个分组就可以有几个变量

注意:

1 findall的优先级查询:

# ret = re.findall(‘www.(baidu|oldboy).com‘, ‘www.oldboy.com‘)
# print(ret)  # [‘oldboy‘]
# 这是因为findall会优先把匹配结果组里内容返回,如果想要匹配结果,取消权限即可

# ret = re.findall(‘www.(?:baidu|oldboy).com‘, ‘www.oldboy.com‘)
# print(ret)  # [‘www.oldboy.com‘]

2 split的优先级查询

ret=re.split("\d+","eva3egon4yuan")
print(ret) #结果 : [‘eva‘, ‘egon‘, ‘yuan‘]

ret=re.split("(\d+)","eva3egon4yuan")
print(ret) #结果 : [‘eva‘, ‘3‘, ‘egon‘, ‘4‘, ‘yuan‘]

#在匹配部分加上()之后所切出的结果是不同的,
#没有()的没有保留所匹配的项,但是有()的却能够保留了匹配的项,
#这个在某些需要保留匹配部分的使用过程是非常重要的。

综合练习与扩展

原文地址:https://www.cnblogs.com/xiuyou/p/11441777.html

时间: 2024-07-30 17:35:11

Python re模块下的常用方法的相关文章

python安装模块的最常用方法

前提:首先确定已经在你的电脑上安装了python,然后配置了python的环境变量.例如:我要安装的模块是xlrd 1.把要安装的包copy到python的安装目录,例如我的C:\Python27,或者在安装目录下新建一个文件夹(packages),方便存放导入的模块.注:我的copy到C:\Python27\packages 2.运行cmd,cd 到你的安装目录,我的C:\Python27\packages\xlrd-0.9.3,输入python setup.py install,完成 3.打

Python multiprocess模块(下)

主要内容: 一. 锁 二. 信号量 三. 事件 通过event来完成红绿灯模型 四. 队列(重点) 队列实现进程间的通信 五. 生产者消费者模型 1. 初始版本(程序会阻塞住) 2. 升级版本一(通过抛出异常信号的方式结束进程) 3. 升级版本二(通过发送结束信号的方式结束进程) 第一种: 生产者发结束信号 第二种: 主进程发结束信号 4. 升级版本三(有多个消费者和生产者的时候需要发送多次结束信号) 六. JoinableQuene实现生产者消费者模型 一. 进程同步(锁) 在之前muitip

〖Python〗-- 模块

---恢复内容开始--- [模块] 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处? 最大的好处是大大提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.

what&#39;s the python之模块

正则表达式 首先,我们引入了正则表达式的知识.所谓正则表达式,就是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式本身和python没有什么关系,就是匹配字符串内容的一种规则.这里给了一个非常好用的在线测试工具http://tool.chinaz.com/regex/ 谈到正则,就只和字符串相关了.着眼于正则的时候,输入的每一个字都是一个字符串.如

python全栈开发【第九篇】Python常用模块一(主要是re正则和collections)

一.认识模块  什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是加上.py的后缀,但其实import加载的模块分为四个通用类别 : 1.使用python编写的代码(.py文件) 2.已被编译为共享库二和DLL的C或C++扩展 3.包好一组模块的包 4.使用C编写并连接到python解释器的内置模块  为何要使用莫模块? 如果你想退出python解释器然后重新进入,那么你之前定义的函数或变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时,就通过python

python 常用模块 time random os模块 sys模块 json &amp; pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

python time模块常用方法小结

Python time 模块常用方法小结 本文旨在记录 python 中 time 模块常用的方法. 1. time 模块常用的方法 获取当前系统时间的时间戳 import time # 返回当前时间的时间戳 time.time() 时间元组的概念 获取时间元组的方法: 接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时). time.localtime(time.time()) # 时间元组 time.struct

python sys 模块常用方法小结

旨在记录 python sys 模块的常用方法 sys 模块常用方法及属性 sys.argv: 接收外部传递的参数. sys.exit([arg]): 程序退出,arg 为 0 正常退出. sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('u

Python ConfigParser模块常用方法示例

 在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍.      Python ConfigParser模块解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:      [db]     db_host=192.168.1.1    db_port=3306    db_