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

re模块

时间:2019-02-11 15:23:38      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:port   imp   对象   print   findall   就会   str   指定   arc   

search()方法
此方法是在整个字符串中查找满足匹配条件的字符或者字符串,一旦找到一个就不再继续查找,并返回包含查找值的对象,可以用.group()方法进行查看,如下:

>>> import re
>>> str = ‘one1two2three3‘
>>> ret  = re.search(‘\d‘,str)
>>> print(ret)
<_sre.SRE_Match object; span=(3, 4), match=‘1‘>
>>> print(ret.group())
1
>>>

match()方法
此方法是用来从开头位置查找是否满足匹配条件,如果没有就会返回None,如果有,则会返回一个包含查找值的对象,可以用group()方法进行查看,如下:

>>> import re
>>> str = ‘one1two2three3‘
>>> ret=re.match(‘\d‘,str)
>>> print(ret)
None
>>> str2 = ‘1wds3cs‘
>>> ret = re.match(‘\d‘,str2)
>>> print(ret)
<_sre.SRE_Match object; span=(0, 1), match=‘1‘>
>>> print(ret.group())
1

findall()方法
此方法是在整个字符串中匹配指定字符或者字符串,并且将所有满足条件的结果返回到一个列表中,如下:

1 ret = re.findall(‘a‘,‘abac‘)
2 print(ret)  #[‘a‘, ‘a‘]

3 ret = re.findall(‘ab‘,‘abac‘)
4 print(ret)  #[‘ab‘]

sub()以及subn()方法

1 ret = re.sub(‘\d‘, ‘*‘, ‘a1b2c3‘)#将数字替换成‘*‘,默认替换所有的数字
2 print(ret) #a*b*c*
3 
4 ret = re.sub(‘\d‘, ‘*‘, ‘a1b2c3‘, 1)#将数字替换成‘*‘,参数1表示只替换1个
5 print(ret) #a*b2c3
6 
7 ret = re.subn(‘\d‘, ‘*‘, ‘a1b2c3‘)#将数字替换成‘*‘,返回一个元祖(替换后的字符串,替换的次数)
8 print(ret) #(‘a*b*c*‘, 3)

compile()方法
此方法是先把正则表达式编译好,以方便多次使用,如下:

1 obj = re.compile(‘\d{3}‘) 
#将正则表达式编译成为一个 正则表达式对象,规则要匹配的是3个数字
2 ret = obj.search(‘abc123eeee‘) 
#正则表达式对象调用search,参数为待匹配的字符串
3 print(ret.group())  #结果 : 123

re模块

标签:port   imp   对象   print   findall   就会   str   指定   arc   

原文地址:http://blog.51cto.com/12884584/2349171

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