python中使用正则表达式处理文本(仅记录常用方法和参数)
标准库模块
python中通过re模块使用正则表达式
import re
常用方法
生成正则表达式对象
compile(pattern[,flags])
pattern:正则表达式字符串
flags:re.I 匹配不区分大小写
re.S .为包括换行在内的所有字符(原本.不包括换行)
匹配字符串
match(pattern,string,[flags])
在起始位置匹配,若起始位置不匹配,返回None,反之返回Match对象
search(pattern,string,[flags])
搜索字符串中第一个匹配的值,成功返回Match对象,失败返回None
findall(pattern,string,[flags])
搜索所有符合条件的字符串,并以列表形式返回,失败返回空列表,这也是最为常用的方法.
返回的列表:
- 正则表达式内无组时返回所有匹配的字符串的列表
- 当给出的正则表达式中带有一个括号时(即包含一个组),列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)
- 当给出的正则表达式中带有多个括号时(即包含组),列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。
替换字符串
sub(pattern, replace,string[,count,flags])
count是最大替换次数,默认为0 表示替换所有匹配,返回替换后的文本
replace为替换的字符串,也可以是一个函数,此函数有一个参数为match对象,利用函数可以进行更丰富的操作,例如在匹配位置前后进行增减操作等
def add(s):
return s.group()+'五'
str1 = "一二三四六七"
x = re.sub(r'四',add,str1) #x='一二三四五六七'
分割字符串
split(pattern,string[,count,flags])
count是最大拆分次数,默认0表示无限次
以正则表达式匹配的字符串为界限分割,返回分割后的列表
match对象
常用方法:
group(num=0)
默认返回匹配的整个字符串,加参数(组号),返回该组号的字符串
groups()
返回包含所有组的元组,没有组就为空元组
python中使用正则表达式处理文本(仅记录常用方法和参数)的更多相关文章
- Python::re 模块 -- 在Python中使用正则表达式
前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细 ...
- [Python]网络爬虫(七):Python中的正则表达式教程
转自:http://blog.csdn.net/pleasecallmewhy/article/details/8929576#t4 接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一 ...
- [Python]网络爬虫(七):Python中的正则表达式教程(转)
接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一下Python中的正则表达式的相关内容. 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器. ...
- 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类
在Python使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容. 下面是在Python中使用 ...
- python模块 re模块与python中运用正则表达式的特点 模块知识详解
1.re模块和基础方法 2.在python中使用正则表达式的特点和问题 3.使用正则表达式的技巧 4.简单爬虫例子 一.re模块 模块引入; import re 相关知识: 1.查找: (1)find ...
- Python学习-38.Python中的正则表达式(二)
在Python中,正则表达式还有较其他编程语言有特色的地方.那就是支持松散正则表达式了. 在某些情况,正则表达式会写得十分的长,这时候,维护就成问题了.而松散正则表达式就是解决这一问题的办法. 用上一 ...
- Python学习-37.Python中的正则表达式
作为一门现代语言,正则表达式是必不可缺的,在Python中,正则表达式位于re模块. import re 这里不说正则表达式怎样去匹配,例如\d代表数字,^代表开头(也代表非,例如^a-z则不匹配任何 ...
- 在python中使用正则表达式(转载)
https://www.cnblogs.com/hanmk/p/9143514.html 在python中使用正则表达式(一) 在python中通过内置的re库来使用正则表达式,它提供了所有正则表 ...
- Python中的正则表达式(re)
import re re.match #从开始位置开始匹配,如果开头没有则无 re.search #搜索整个字符串 re.findall #搜索整个字符串,返回一个list 举例: r(raw)用在p ...
随机推荐
- Serverless 对研发效能的变革和创新
作者 | 杨皓然(不瞋) 对企业而言,Serverless 架构有着巨大的应用潜力.随着云产品的完善,产品的集成和被集成能力的加强,软件交付流程自动化能力的提高,我们相信在 Serverless 架构 ...
- 在IDEA中创建SpringBoot项目01
1.选择创建项目 2.填写项目信息 3. 4. 5.Finish后会下载,之后生成目录结构: 6.在自己的包目录结构下添加了Controllr和Entiy测试项目: Controller: 1 pac ...
- Java(11)方法详细介绍
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201577.html 博客主页:https://www.cnblogs.com/testero ...
- flask 之 请求钩子
请求钩子 什么是请求钩子? 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要统一处理,为了让每个视图函数避免编写重复功能的代码,flask提供了统一的接口可以添加这些处理函数,即请求钩子. f ...
- 初学Python-day8 案例2
中奖率 1 import random 2 num = 123456 3 i = 1 4 while True: 5 win = random.randrange(100000, 999999) 6 ...
- vue3.x相对于vue2.x生命周期改动
vue3.x已经正式发布了,部分小伙伴已经用了vue3.x开发,部分小伙伴还在观望中,下面是两个影响比较大的改动 1.beforeDestroy和destroyed不能用了. 这个应该是vue2.x项 ...
- 【二食堂】Beta - Scrum Meeting 12
Scrum Meeting 12 例会时间:5.27 20:00~20:10 进度情况 组员 当前进度 今日任务 李健 1. 知识图谱导出功能完成 issue 1. 继续完成文本保存的工作 issue ...
- 表单编辑时el-form的validate方法执行无效,阻塞代码运行 - Element UI踩坑记录
今天在用element-ui写管理后台需求时,遇到一个奇怪的问题 一个正常带校验的表单,在新增列表数据时表单校验功能正常: 但是在新增之后再去编辑数据时,表单校验却失效了,甚至阻塞了后续的代码执行,控 ...
- camera HSYNC:VSYNC
HSYNC:行锁存,换行信号VSYNC:祯锁存,换页信号 320×240的屏,每一行需要输入320个脉冲来依次移位.锁存进一行的数据,然后来个HSYNC 脉冲换一行:这样依次输入240行之后换行同时来 ...
- 查找最小生成树:克鲁斯克尔算法(Kruskal)算法
一.算法介绍 Kruskal算法是一种用来查找最小生成树的算法,由Joseph Kruskal在1956年发表.用来解决同样问题的还有Prim算法和Boruvka算法等.三种算法都是贪心算法的应用.和 ...