python 正则表达函数_Python 正则表达的几种方法

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云,作者:数据医生

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )

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

re.M 多行模式

re.MULTILNE

re.S 单行模式

re.DOTALL

re.I 忽略大小写

re.IGNORECASE

re.X 忽略表示式中的空白字符

re.VERBOSE

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

方法

编译

re.compile(patten,flags=0)

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

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

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

单次匹配

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

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

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

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

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

从头搜索直到第一个匹配,regex对象search方法可以重设定开始位置和结束位置,返回match对象

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

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

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

全文搜索

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

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

对整个字符串,从左到右匹配,返回所有匹配的列表

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

redex.finditer(string[,pos[,endpos]])

对整个字符串,从左到右匹配,返回所有匹配项,返回迭代器。注意每次迭代返回的是match对象

匹配替换

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

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

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

replacement可以是string, bytes, function.

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

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

同sub返回一个元组(new_string,number_of_subs_made)

字符串分割

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

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

re.split分隔字符串

分组

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

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

如果pattern 中使用哦分组,如果有匹配的结果,会在match 对象中1、使用group(N)方式返回对应分组,1-N 是对应的分组,0返回整个匹配的字符串2、如果使用了命名分组,可以使用group('name') 的方式取分组3、也可以使用groups()返回多有分组4、使用groupdict()返回所有命名的分组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值