python正则表达式模块
正则表达式是对字符串的最简约的规则的表述。python也有专门的正则表达式模块re.
| 正则表达式函数 | 释义 |
| re.match() | 从头开始匹配,匹配失败返回None,匹配成功可通过group(0)返回匹配成功的字符串 |
| re.search() | 扫描整个字符串,并返回第一个匹配的字符串 |
| re.sub() | 对符合要求的所有子串进行替换 |
| re.findall() | 以列表形式返回所有符合条件的子串 |
| re.split() | 以模式作为切分符号切分字符串,并返回列表 |
| re.finditer() | 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回 |
| re.compile() | 把那些经常使用的正则表达式编译成正则表达式对象 |
| re.group() | 返回被 RE 匹配的字符串 |
| re.start() | 返回匹配开始的位置 |
| re.end() | 返回匹配结束的位置 |
| re.span() | 返回一个元组包含匹配 (开始,结束) 的位置 |
import re list=['15865548338cong' ,'abcd18701687236ef','gafei18511371536' ,'wb15865737271dad13244556677']
print(list)
for items in list:
# start
l=re.match( r'\d{11}',items )
print('match:',l )
if l!=None:
print('match.group(0)',l.group(0))
# start-end
m = re.search( '[0-9]{11}',items )
print('search:',m.group( 0))
print('search,.start:',m.start())
print('search,.end:',m.end())
print('search,.span:',m.span())
# replace
n=re.sub( r'\d','*' ,items)
print('sub:',n )
# return list
o=re.findall(r'\d{11}',items )
print('findall:',o )
# str2list
p=re.split( r'\d+',items )
print('split:',p )
# iterator
q=re.finditer(r'\d+',items )
for i in q:
print('finditer:' ,i.group())
pattern=re.compile(r'\d{11}')
print pattern.findall(items) print('***********************************************' )
输出结果:
['15865548338cong', 'abcd18701687236ef', 'gafei18511371536', 'wb15865737271dad13244556677']
('match:', <_sre.SRE_Match object at 0x00000000025D2510>)
('match.group(0)', '')
('search:', '')
('search,.start:', 0)
('search,.end:', 11)
('search,.span:', (0, 11))
('sub:', '***********cong')
('findall:', [''])
('split:', ['', 'cong'])
('finditer:', '')
['']
***********************************************
('match:', None)
('search:', '')
('search,.start:', 4)
('search,.end:', 15)
('search,.span:', (4, 15))
('sub:', 'abcd***********ef')
('findall:', [''])
('split:', ['abcd', 'ef'])
('finditer:', '')
['']
***********************************************
('match:', None)
('search:', '')
('search,.start:', 5)
('search,.end:', 16)
('search,.span:', (5, 16))
('sub:', 'gafei***********')
('findall:', [''])
('split:', ['gafei', ''])
('finditer:', '')
['']
***********************************************
('match:', None)
('search:', '')
('search,.start:', 2)
('search,.end:', 13)
('search,.span:', (2, 13))
('sub:', 'wb***********dad***********')
('findall:', ['', ''])
('split:', ['wb', 'dad', ''])
('finditer:', '')
('finditer:', '')
['', '']
***********************************************
请按任意键继续. . .
python正则表达式模块的更多相关文章
- Python 正则表达式模块 (re) 简介
Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能 ...
- Python正则表达式模块(re模块)
Python是我接触到的第一门编程语言,虽然它足够简单,但是对于当时刚刚接触编程语言的我来说还是有些难度的,于是只是了解了一些Python的基本语法,稍微深入一点的地方都没怎么了解.不过,到现在为止, ...
- python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义
本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...
- python正则表达式模块re
正则表达式的特殊元素 匹配符号 描述 '.'(点dot) 在默认模式下,它匹配除换行符之外的任何字符.如果指定了DOTALL标志,则匹配包括换行符在内的任何字符 '^'(Caret) 匹配以字符串开头 ...
- 更强大的python正则表达式模块 -- regex
python内置的正则表达库re比较弱,而且似乎在好几年里都没太大的变化. 这里介绍这个python模块regex,实现了更多方便好用的功能. 比如:\p{han} 可以匹配汉字, \p{Latin} ...
- 一篇搞定Python正则表达式
1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:\.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用\进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符 ...
- Python正则表达式很难?一篇文章搞定他,不是我吹!
1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时 ...
- Python正则表达式学习记录
常用的命令: http://www.runoob.com/python/python-reg-expressions.html 使用中相关注意问题: 1. 中括号里的表示从N到M需要用横线‘-’, 而 ...
- Python正则表达式 学习笔记
python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc py ...
随机推荐
- Linux核心设计依据(六)该块I/O一层
块设备是能随机存取装置固定大小的数据表设备.如硬盘:字符设备(如串口和键盘)它是按照字符流进入有序进行.不同之处在于是否足够的随机存取数据--这时候,你可以随心所欲地从一个位置跳到访问设备和位置.复杂 ...
- 经Gradle采取Jenkins的build
如今,企业都太多Jenkins去管理apk,后该代码被提交jenkins在生成build 因此,我们可以得到jenkins提交版本 Jenkins在编制job什么时候,有一个内置的可变BUILD_NU ...
- .NET CORE的TagHelper智能提示
VisualStudio2017下ASP.NET CORE的TagHelper智能提示不能使用的解决办法 之前在VS2017RC中就发现该问题,安装了依赖,但是前段一直点不出来asp-for,后来 ...
- .NET基础拾遗
原帖地址: http://www.cnblogs.com/edisonchou/p/4787775.html
- 我是怎么做App token认证的
使用Token来做身份认证在目前的移动客户端上非常流行,Token这个概念来源于OAuth认证,主要是在服务端实现.关于相关的原理,同学们自行百度.在这里,我简单介绍一下我是怎么具体实现的,重点描述t ...
- 微信公众平台自定义菜单接口API指南
微信公众平台开发模式自定义菜单接口API指南 简介 开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建.查询和删除等操作. 自定义菜单接口可实现以下类型按钮: clic ...
- jquery validate 详细说明
jQuery校验 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一导入js库 <script src=&q ...
- 优秀开源项目之四:CrashRptProbe,查询程序奔溃的利器
1.背景: 在开发人员进行项目开发和调试代码时,有一个非常困扰的问题,就是程序在调试运行过程中会莫名其妙地异常退出.由于导致异常退出的问题非常多,因此在面对这种无任何提示的异常退出时,开发人员会非常无 ...
- WPF C# 多屏情况下,实现窗体显示到指定的屏幕内
原文:WPF C# 多屏情况下,实现窗体显示到指定的屏幕内 针对于一个程序,需要在两个显示屏上显示不同的窗体,(亦或N个显示屏N个窗体),可以使用如下的方式实现. 主要涉及到的:System.Wind ...
- N+1:创新点的设计
定义.公式.模型.算法的提出: 0. 如何进行抽象,如何定义数学表达式 二次衰减函数: f(z)=1z2 ⇒ f(z)=11+z2 噪声衰减因子: 对值域的要求,单调性的要求,必须是可调的: 2n1+ ...