微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达

import re
m = re.match(.+t5,dfgt5ab)
print (m)#dfgt5ab匹配成功
m = re.match(t5,t5abcd)
print (m)#t5abcd匹配成功,从开头就要匹配上
m = re.search([0-9],ab45cf)
print(m.group(0))#4匹配成功.不一定从开头就匹配上


strr = re.sub([0-9],f,df34gg)
print (strr)#dfffgg
m = re.findall([0-9],54dgg5t)
print (m)
m = re.split([0-9],dgg55t)
print (m)

运行结果:

<_sre.SRE_Match object; span=(0,5),match=‘dfgt5‘>

<_sre.SRE_Match object; span=(0,2),match=‘t5‘>

4

dfffgg

[‘5‘,‘4‘,‘5‘]

[‘dgg‘,‘‘,‘t‘]

 

 

注意match,search返回的是,匹配成功返回一个正则对象,不成功返回none. 而对于search的返回,我们一般会调用group方法

 

 

下面说下group

下面一个正则表达式:

 

output_(\d{4})

 

该正则表达式用括号()包围了一个小的正则表达式,\d{4}。 这个小的正则表达式被用于从结果中筛选想要的信息(在这里是四位数字)。这样被括号圈起来的正则表达式的一部分,称为群(group)。

我们可以m.group(number)的方法查询群。group(0)是整个正则表达的搜索结果,group(1)是第一个群……

 

import re
m = re.search("output_(\d{4})","output_1986.txt")
print (m.group(0))#output_1986
print(m.group(1))#1986

我们还可以将群命名,以便更好地使用m.group查询:

 

import re
m = re.search("output_(?P<year>\d{4})","output_1986.txt")   #(?P<name>...) 为group命名
print(m.group("year"))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐