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模块)三的主要内容,如果未能解决你的问题,请参考以下文章

[转]python中的正则表达式(re模块)

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

python中的正则表达式----re模块

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

python 正则表达式 re模块基础

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