码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达

时间:2018-06-19 18:54:22      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:obj   color   arc   none   import   one   bsp   imp   部分   

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"))

 

正则表达

标签:obj   color   arc   none   import   one   bsp   imp   部分   

原文地址:https://www.cnblogs.com/saolv/p/9200580.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!