正则表达式re模块小结
re模块的常用方法
1、compile(pattern[,flags])
创建模式对象,一般配合其他方法使用。例如:
import re #导入re模块
text = 'All that doth flow we cannot liquid name' #测试用的字符串
pattern = re.compile(r'\bd\w+\b') #编译正则表达式对象,查找以d开头的单词
print(pattern.findall(text)) #使用正则表达式对象的findall()方法
结果是:

2、search(pattern,string[,flags]) && match(pattern,string[,flags])
search()方法是在整个字符串中寻找模式,返回匹配的对象或者None。用于在整个字符串或指定范围中进行搜索。
match()方法是从字符串的开始处匹配模式,返回匹配的对象或者None。用于在字符串开头或指定位置进行搜索,模式必须出现在字符串开头或指定位置。例如:
import re #导入re模块
text = 'All that doth flow we cannot liquid name' #测试用的字符串
pattern = re.compile(r'\b[a-zA-Z]{4}\b') #查找4个字母长的单词
print(pattern.match(text)) #从字符串开头开始匹配,失败返回空值
print(pattern.search(text)) #在整个字符串中搜索,成功
结果是:

3、findall(pattern,string[,flag])
列出字符串中模式的所有匹配项。用于在字符串中查找所有符合正则表达式的字符串并以列表形式返回。例如:
import re #导入re模块
text = 'All that doth flow we cannot liquid name' #测试用的字符串
pattern = re.compile(r'\b\w*a\w*\b') #查找所有含有字母a的单词
print(pattern.findall(text))
example = 'Or else would fire and water be the same;'
print(re.findall(r"\w+er",example)) #查找所有以字母组合ly结尾的单词
结果是:

4、split(pattern,string[,maxsplit=0])
根据模式匹配项分割字符串。例如:
import re #导入re模块
text = 'All..that...doth.flow...we.cannot...liquid name' #测试用的字符串
print(re.split('[\.]+',text)) #使用指定字符作为分隔符进行分割
print(re.split('[\.]+',text,maxsplit=3)) #最多分隔3次
print(re.split('[\.]+',text,maxsplit=2)) #最多分隔2次
print(re.split('[\.]+',text,maxsplit=1)) #最多分隔1次
结果是:

5、sub(pat,repl,string[,count=0])
将字符串中所有pat的匹配项用repl替换。例如:
import re #导入re模块
text = '''All that doth flow we cannot liquid name
Or else would fire and water be the same;
But that is liquid which is moist and wet
Fire that property can never get.
Then 'tis not cold that doth the fire put out
But 'tis the wet that makes it die, no doubt.''' #测试用的字符串
pattern = re.compile(r'\bt\w*\b',re.I) #匹配以t或T开头的单词
print(pattern.sub('%',text)) #将符合条件的单词替换为%
print()
print(pattern.sub('%',text,1)) #只替换1次
结果是:

注意:函数参值flags的值可以是re.I(表示忽略大小写);re.L(支持本地字符集的字符);re.M(多行匹配模式);re.S(使元字符“.”匹配任意字符);re.U(匹配Unicode字符);re.X(忽略模式中的空格,并可以使用#注释)的不同组合。
正则表达式re模块小结的更多相关文章
- Python常用模块小结
目录 Python常用模块小结 一.Python常用模块小结 1.1 time模块 1.2 datetime模块 1.3 random模块 1.4 os模块 1.5 sys模块 1.6 json模块 ...
- python正则表达式Re模块备忘录
title: python正则表达式Re模块备忘录 date: 2019/1/31 18:17:08 toc: true --- python正则表达式Re模块备忘录 备忘录 python中的数量词为 ...
- python 正则表达式re模块
#####################总结############## 优点: 灵活, 功能性强, 逻辑性强. 缺点: 上手难,旦上手, 会爱上这个东西 ...
- python基础之正则表达式 re模块
内容梗概: 1. 正则表达式 2. re模块的使⽤ 3. 一堆练习正则表达式是对字符串串操作的一种逻辑公式. 我们一般使用正则表达式对字符串进行匹配和过滤.使用正则的优缺点: 优点: 灵活,功能性强, ...
- python记录_day23 正则表达式 re模块
一. 正则表达式 使用python的re模块之前应该对正则表达式有一定的了解 正则表达式是对字符串操作的一种逻辑公式.我们一般使用正则表达式对字符串进行匹配和过滤. 正则的优缺点: 优点:灵活, 功能 ...
- Python面试题之Python正则表达式re模块
一.Python正则表达式re模块简介 正则表达式,是一门相对通用的语言.简单说就是:用一系列的规则语法,去匹配,查找,替换等操作字符串,以达到对应的目的:此套规则,就是所谓的正则表达式.各个语言都有 ...
- javascript之正则表达式基础知识小结
javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料. 元字符 ^ $ . * + ? = ! : | \ / ( ) [ ] { } 在使用这些符号时需要 ...
- 基于iCamera测试mt9m034 1280X960 高动态相机模块小结
基于iCamera测试mt9m034 高动态相机模块小结 首先看看此模块的特性 mt9m034 高动态 CMOS模块 1280*960像素 5.48 V/lux-sec >115db 摄像头模块 ...
- 基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结
基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结 先看实物 M12标准无畸变镜头效果 标准CS镜头效果 iCamera底板+mt9p001安装效果 再看看c ...
随机推荐
- [Ext.Net]TreePanel+gridPanel实例
@小花要完整例子,尝试一下图文并茂,力求完整. gridPanel TreePanel.JPG (27.49 KB, 下载次数: 16) 下载附件 保存到相册 2013-1-6 11:24 上 ...
- andrid面试题
下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖. 某公司高级面试题(2015-03-14)[感谢helder分享] 1.详述And ...
- Rust语言之HelloWorld Web版
Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programmi ...
- unity 快速创建小地图
先写一个纹理遮罩shader Shader "Unlit/TexMask" { Properties { _MainTex ("Texture", 2D) = ...
- 1.1、Libgdx目标和特性
Libgdx是一个通过统一的API工作在所有支持平台(Windows,Linux,Mac OS X,Android,黑莓,HTML/WebGL)的一个Java游戏开发框架. 框架提供了一个快速原型和快 ...
- 【面试笔试算法】Program 4 : Best Compression Algorithms(网易游戏笔试题)
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 易信是由网易和电信联合开发的一款即时通讯软件.除了语音聊天,免费电话等新功能以外,传统的文字信息聊天功能也得以保留,因此每 ...
- Mybatis中文查询没有结果
我用中文参数去查找数据,没有返回结果,应该是乱码问题 进行如下配置问题消失:jdbc:mysql://localhost:3306/appstore_db?useUnicode=true&ch ...
- Smali语法汇总(一)
Opcode 操作码(hex) Opcode name 操作码名称 Explanation 说明 Example 示例 00 nop 无操作 0000 - nop 01 move vx, vy 移动v ...
- 复位windows网络参数的方法
使用电脑的时候,经常会遇到网络相关的问题,以前读大学的时候就知道怎么解决,就是下面这个方案. 开始-全部程序-附件-命令提示符-右键-以管理员身份运行出来一个黑底白字的窗口,在里面输入: netsh ...
- webapi从入门到放弃(一)OWIN 自寄宿模式
1.创建web空项目 2.创建完如图 3.安装如下程序包Microsoft.AspNet.WebApi.Core (5.2.4)Microsoft.Owin.Host.SystemWeb (4.0. ...