码迷,mamicode.com
首页 > 编程语言 > 详细

python中的正则表达式(re模块)三

时间:2018-07-29 18:58:34      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:直接   分组   返回结果   使用   pre   固定   dfs   正则   abc   

元字符之分组 ()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
print(re.findall(r"(abc)+",‘abcccccabccc‘))
#注释:分组是把括号内的字符串看成一个整体来做正则匹配

以上实例执行结果:
[‘abc‘, ‘abc‘]

import re
ret=re.search(‘(?P<id>\d{2})\.(?P<name>\w{3})‘,‘23.com‘)
print(ret.group())   
print(ret.group(‘id‘)) 
#注释:使用分组的来获取自己想要的组,以上分文两个组(id组和name组),实际正真在匹配的是\d{2}和\w{3}
#注释:(?P<>) 是分组的固定格式,里面的ID为自定义名字

以上实例执行结果:
23.com
23

re模块常用方法 search

#类似于find方法,当第一次匹配到以后就不会继续往后找直接返回结果,如果找不到返回None。

以下实例是使用search方法匹配数字;返回的结果一个match对象

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
ret=re.search(‘\d+‘,‘sdf23sdf35sdfs36‘)
print(ret)

以上实例执行结果:
<_sre.SRE_Match object; span=(3, 5), match=‘23‘>

获取match对象的值,使用group方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
ret=re.search(‘\d+‘,‘sdf23sdf35sdfs36‘).group()
print(ret)

以上实例执行结果
23

re.match方法与search大致相同,不过match在字符串开始处进行匹配;

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re
ret=re.search(‘\d+‘,‘56sdf23sdf35sdfs36‘).group()
print(ret)

以上实例执行结果
56

python中的正则表达式(re模块)三

标签:直接   分组   返回结果   使用   pre   固定   dfs   正则   abc   

原文地址:http://blog.51cto.com/2032872/2151843

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