python中的正则表达式(re模块)三
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的正则表达式(re模块)三相关的知识,希望对你有一定的参考价值。
元字符之分组 ()
#!/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模块)三的主要内容,如果未能解决你的问题,请参考以下文章