re模块是Python的标准库模块

模块正则接口的整体模式

re.compile 返回regetx对象

finditer fullmatch match search 返回 match对象

match.属性|方法

 

re模块的使用:

regex = re.compile(pattern,flags = 0)

功能 :

生成正则表达式对象

参数 :

pattern     正则表达式

flags  功能标志位,丰富正则表达式的匹配

返回值:

返回一个正则表达式对象

re.findall(pattern,string,flags = 0)

功能 :

根据正则表达式匹配目标字串内容

参数 :

pattern     正则表达式

string      目标字符串

返回值:

列表 里面是匹配到的内容

如果正则表达式有子组,则只返回子组中的内容

regex.findall(string,pos,endpos)

功能 :

根据正则表达式匹配目标字串内容

参数 :

string      目标字符串

pos,endpos : 截取目标字符串的起止位置进行匹              配,默认是整个字符串

返回值:

列表 里面是匹配到的内容

如果正则表达式有子组,则只返回子组中的内容

re.split(pattern,string,flags = 0)

功能 :

通过正则表达式切割目标字符串

参数 :

pattern     正则

string      目标字串

返回值 :

以列表形式返回切割后的内容

re.sub(pattern,replace,string,max,flags)

功能:

替换正则表达式匹配内容

参数:

pattern     正则

replace     要替换的内容

string      目标字符串

max         设定最多替换几处

返回值 :

替换后的字符串

re.subn(pattern,replace,string,max,flags)

功能和参数同sub

返回值多一个实际替换了几处

re.finditer(pattern,string,flags)

功能:

使用正则匹配目标字串

参数:

pattern     正则

string      目标字串

返回值:

迭代对象 ----》 迭代内容为match对象

re.fullmatch(pattern,string,flags)

功能 :

完全匹配一个字符串

参数:

pattern     正则

string      目标字串

返回值:

match对象,匹配到的内容

re.match(pattern,string,flags)

功能 :

匹配一个字符串起始内容

参数:

pattern     正则

string      目标字串

返回值:

match对象,匹配到的内容

re.search(pattern,string,flags)

功能 :

匹配第一个符合条件的字符串

参数:

pattern     正则

string      目标字串

返回值:

match对象,匹配到的内容

regex 对象的属性

flags           标志位数值

pattern         正则表达式

groups          子组个数

groupindex      获取捕获组字典,键为组名值是第几组

match对象属性:

match.string        表示目标字符串的开始位置

match.pos           表示目标字符串的结束位置

match.re            表示对象生成正则表达式

match.endpos        目标字符串

match.lastindex     最后一个分组是第几组

match.lastgroup     最后一组的名称(捕获)

match对象方法:

match.span()        返回匹配到内容的开始结束位置元组

match.start()       返回匹配到内容的开始位置

match.end()         返回匹配到内容的结束位置

match.groups()      返回所有子组匹配到的内容

match.groupdict()   返回捕获组字典键:捕获名 值:内容

group(n=0)

功能:

获取match对象对应的匹配内容

参数:

默认为0 表示获取整体的匹配内容

如果赋值1,2,3。。。表示获取第n个子组匹配到的内容

返回值:

返回获取到的内容字串

 
# regex1.py
import re pattern = r"(?P<dog>ab)cd(?P<pig>ef)"
# 生成正则表达式对象
regex = re.compile(pattern) s = "abcdefghfkfdafsabcdefjsaavjhcabca"
# 获取mtach对象
obj = regex.search(s, 0, 8) # 设置开始位置结束位置 # print(len(s)) # match对象属性
print(obj.pos) # 目标字符串的开始位置
print(obj.endpos) # 目标字符串的结束位置
print(obj.re) # 正则表达式对象  re.compile('(?P<dog>ab)cd(ef)')
print(obj.string) # 目标字符串
print(obj.lastindex) # 最后一个分组是第几组
print(obj.lastgroup) # 最后一组的名称 # match对象方法
print(obj.span()) # 匹配到内容的起止位置
print(obj.start()) # 匹配到的内容开始位置
print(obj.end()) # 匹配到的内容结束位置
print(obj.groups()) # 所有子组匹配到的内容
print(obj.groupdict()) # 捕获组字典 键:捕获名 值:内容 print(obj.group())
print(obj.group(2))
# group(n=0)
# 功能:
# 获取match对象对应的匹配内容
# 参数:
# 默认为0 表示获取整体的匹配内容
# 如果赋值1,2,3。。。表示获取第n个子组匹配到的内容
# 返回值:
# 返回获取到的内容字串

flags参数:

re.compile

re.findall

re.search

re.match

re.finditer

re.fullmatch

re.split

re.sub

作用:

辅助正则表达式,扩展丰富的匹配内容、

regex = re.compile(r"Hello", re.I)  # 忽略字母大小写

I == IGNORECASE     忽略字母大小写

S == DOTALL         让元字符 . 能够匹配到\n

M == MULTILINE      让元字符 ^ $ 能够匹配每一行的开头和结尾

X == VERBOOS        能够为正则添加注释

flags传递多个参数时可以用 按位或: | 链接

import re 

# 忽略字母大小写
regex = re.compile(r'hello',re.I) # l = regex.findall('hello Hello')
# print(l) s = '''hello world
nihao Beijing'''
# 让.能够匹配换行符
l = re.findall(r'.+',s,re.S)
print(l)
# 匹配每一行
obj = re.search(r"world$",s,re.M)
print(obj.group()) # re自带注释方法
pattern = r"""(?P<dog>\w+) #dog组
\s+ #匹配任意多个空格
(\W+) #匹配一些特殊字符
""" #添加注释同时忽略大小写
s = re.match(pattern,'hello %#@',re.X | re.I).group()
print(s)

Python全栈 正则表达式(re模块正则接口全方位详解)的更多相关文章

  1. Python全栈开发之8、装饰器详解

    一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了.转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5486253.html 一.装饰器 装饰器可以使函数执 ...

  2. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  3. python全栈开发-logging模块(日记专用)

    一.概述 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,l ...

  4. Python全栈day21-22-23(模块)

    一,python的模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  5. python全栈开发-常用模块的一些应用

    一.random模块详解 1.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 2.常用方法 1. random ...

  6. 关于python中的包,模块导入的问题详解(一)

    最近由于初学python,对包,模块的导入问题进行了资料的搜集,查阅,在这里做一个总结: 一: import 模块 在import的过程中发生了什么?我们用一个实验来说明: 以上截图表明:在impor ...

  7. Python全栈 正则表达式(概念、、语法、元字符、re模块)

    前言:        普通人有三件东西看不懂:医生的处方,道士的鬼符,程序员得正则表达式       什么是正则表达式? 正则表达式,又称规则表达式,英文名为Regular Expression,在代 ...

  8. Python全栈开发【re正则模块】

    re正则模块 本节内容: 正则介绍 元字符及元字符集 元字符转义符 re模块下的常用方法 正则介绍(re) 正则表达式(或 RE)是一种小型的.高度专业化的编程语言. 在Python中,它内嵌在Pyt ...

  9. python全栈开发-re模块(正则表达式)应用(字符串的处理)

    一.概述 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,要讲他的具体用法要讲一本书!它内嵌在Python中,并通过 re 模块实现.你可以为想要匹配的相应字符串集指定规则:该 ...

随机推荐

  1. C++重载操作符operator

    operator是C++关键字,用于对C++进行扩展: 1.可以被重载的操作符:new,new[],delete,delete[],+,-,*,/,%,^,&,|,~,!,=,<,> ...

  2. 大数据框架-Zookeeper

    Hadoop的分布式协同服务,让分布式系统碰到失败时候,能够正确处理此类问题.基础功能:master选举,数据同步.Zooleeper集群有Client和Server(leader和follower) ...

  3. mysql事务隔离

    一.事务的特性 原子性.一致性.隔离性.持久性 二.事务的隔离级别 1.未提交读 (Read Uncommitpeatableted) 臭名昭著的脏读 ,事务A读到事务B未提交的数据 2.提交读RC( ...

  4. oracle表空间的创建+权限分配

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9 ...

  5. BZOJ2298: [HAOI2011]problem a(带权区间覆盖DP)

    Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1747  Solved: 876[Submit][Status][Discuss] Descripti ...

  6. linux 学习第九天

    一.磁盘 (FHS:Filesystem Hierarchy Standard(文件系统层次化标准)的缩写) 1.常用目录 /var  主要存放经常变化的文件,如日志 /usr/local  用户自行 ...

  7. .net第三方数据库物理卡号同步功能实现

    本地数据库用的是Oracle,第三方数据库是SQL Server,连接字符串保存在web.config里面. 第三方数据库为增量,每次读取要记录读取的最大位置.我是保存在本地txt文件里面. //保存 ...

  8. Delphi采用接口实现DLL调用

    Delphi使用模块化开发,可以采用DLL或者BPL,两者的区别是BPL只能被同版本的Delphi使用,DLL可以被不同版本和不同开发工具的开发的软件调用. 因此我们的软件大多使用Delphi作为界面 ...

  9. ES基础知识与高频考点梳理

    知识点梳理目录列表 变量类型 JS的数据类型分类和判断 值类型和引用类型 原型与原型链(继承) 原型和原型链的定义 继承写法 作用域和闭包 执行上下文 this 闭包是什么 异步 同步VS异步 异步和 ...

  10. STM32 硬件UART接收超时检测设置

    STM32 硬件UART接收超时检测设置 -----------------本文作者"智御电子",期待与电子爱好者交流学习.---------------- 应用场景 在uart应 ...