python解析之正则表达式,由浅入深带你轻松学会正则表达式(05分组匹配)

正则表达式中还可以对匹配的内容进行分组匹配,如下:

01:普通分组匹配。

代码示例1:

import re

c = re.compile(r'(\d+)([a-z]+)(\d+)')

s = c.search('sdsdj235sadhasjd36432sjdha')

# 完整匹配结果
print(s.group(), s.span())
# 等价于上式
print(s.group(0), s.span(0))
# 第几个()匹配的结果
print(s.group(1), s.span(1))
print(s.group(2), s.span(2))
print(s.group(3), s.span(3))

运行结果:

02:标签等分组匹配。

代码示例2:

import re

# 固定匹配
# c = re.compile(r'<a>\w+</a>')

# \1表示前面第一个()匹配的内容
# c = re.compile(r'<([a-z]+)><([a-z]+)>\w+</\2></\1>')

# 给分组()起名字
c = re.compile(r'<(?P<goudan>[a-z]+)><(?P<dahua>[a-z]+)>\w+</(?P=dahua)></(?P=goudan)>')


s = c.search('<div><a>百度一下</a></div>')

if s:
    print(s.group())

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值