Python——正则表达式 re模块
admin
2023-07-19 22:42:49
0

Python的正则表达式

Python中使用re模块提供了正则表达式处理的能力

常量

Python——正则表达式 re模块

使用 | 位或 运算开启多种选项

方法

import re

编译

re.compile(pattern, flags=0)

设定flags、编译模式,返回正则表达式对象 regex。

pettern就是正则表达式字符串,flags是选项,正则表达式需要被编译,为了提高效率,这些写编译后的结果被保存,下次使用同的pattern的时候,就不需要再次版编译

re的其它方法为了提高效率都调用了编译方法,就是为了提速

单次匹配

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

regex.match(string [,pos [,endpos]])

返回match对象

match匹配从字符串的开头匹配,regex对象match方法可以重设定个开始位置和结束位置。

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

regex.search(string [,pos [,endpos]])

返回match对象

从头搜索直到第一个匹配,regex对象serch方法可以冲设定开始位置和结束位置。

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

regex.fullmatch(string [,pos [,endpos]])

返回match对象

整个字符串和正则表达式匹配

全文搜索

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

regex.findall(string [, pos [,endpos]])

对整个字符串,从左至右,返回左右匹配项的列表

如果pattern使用组,列表元素为组的匹配内容,不使用组,则元素为匹配内容

re.findeiter(pattern,striing,flags=0)

regex,finditer(string [,pos [,endpos]])

对整个字符串,从左至右,返回所有匹配项返回迭代器

注意:迭代出来的元素为match对象

匹配替换

re.sub(pattern,replacement,string,count=0,flags=0)

regex.sub(replacement,string,count=0)

返回new_string

使用pattern 对字符串string 进行匹配,对匹配项使用replacement替换

repalcement可以是string、bytes、function

re.subn(pattern,replacement,string,count=0,flags=0)

regex.subn(replacement,string,count=0)

同re.sub 返回一个元组(new_string , number_of_sub_made)

分割字符串

字符串的分割函数split , 太难用,不能指定多个字符进行分割

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

regex.split(string,maxsplit=0)

分组

使用小括号的pattern捕获的数据被放到了组group中。

match、search 函数可以返回match对象;findall 返回字符串列表;finditer返回一个个match对象

如果pattern中使用了分组,如果有匹配的结果,会在match对象中:

1.使用,group(n)方式返回对应分组,1~N 是对应的分组,0返回整个匹配的字符串

2.如果使用了命名分组没,可以使用group(“name”)的方式获取分组

3.也可以使用groups()返回所有分组

4.使用groupdict()返回所有命名的分组

matchaer.group() 返回 字符串

matchaer.group(‘name’) 返回 字符串

matcher.groups() 返回 分组组成的tuple

matcher.groupdict()


相关内容

热门资讯

张雪被粉丝吐槽合影时有情绪,本... 6月17日,张雪在直播连麦中遭到粉丝吐槽“我跟您合影的时候,您就有点生气了,当时对我的态度就是有一点...
父子误食小区喷敌敌畏果子后洗胃... 随着夏季气温持续升高、雨水增多,蚊蝇等病媒生物滋生繁殖进入旺季,不少物业公司会对小区公共区域、绿化景...
“哈兰德实在太哈兰德了” 梅开... “哈兰德实在太哈兰德了”  【“哈兰德实在太哈兰德了”】北京时间6月17日凌晨,2026年美加墨世界...
自然资源部开展台湾岛以东管辖海... 为全面了解我国管辖海域自然生态状况,支撑服务海洋生态保护,6月16日至18日,自然资源部东海局“向阳...
凤凰女记者:美伊签备忘录,伊朗... 伊美远程签署谅解备忘录,伊朗各界和民众有什么反应?凤凰卫视驻德黑兰记者李睿发回最新报道:许多曾经反对...
瑞士外交部:美伊会谈19日在比... 新华社日内瓦6月18日电(记者王其冰) 瑞士外交部18日表示,美国和伊朗计划与调解方巴基斯坦、卡塔尔...
备战世界杯比赛时训练场地上空现... 【环球网报道 记者 张江平】综合法新社等媒体报道,对于韩国队世界杯训练场地上空出现不明无人机,韩国队...
首艘平陆运河智能船舶示范船试航... 昨天,在广西贵港建造的首艘5000吨级平陆运河智能船舶示范船“北港运河002”试航,标志着平陆运河智...
“网络文明大讲堂”活动启动仪式... “网络文明大讲堂”活动启动仪式暨首场讲座活动现场。赵洋 摄 6月16日,“网络文明大讲堂”活动启动仪...
华为申请编码方法及译码方法专利... 国家知识产权局信息显示,华为技术有限公司申请一项名为“编码方法、译码方法及相关装置”的专利,公开号C...