[python]正则表达式 编组group->re.match()

本文深入探讨了正则表达式中的懒惰限定符,包括*?、+?、??、{n,m}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
表5.懒惰限定符
代码/语法 说明
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复
re.match(pat,text)解析

import re
pat=r'(.*) are (.*?) .*'
text='cats are some dogs' friends'
m=re.match(pat,text)
m.group()
m.group(1)
m.group(2)

结果:


    'cats are some dogs' friends'
    'cats'
    'some'
    

解析:
pat里第一个(.*)规定了第一个正则表达式表示 are之前的所有…
其中句号可以指代任何一个字符,表示重复多次.的作用,即多个任意字符,在例子中为’cats’
第二个(.
?)规定了第二个正则表达式 表示are之后的第一组空格之前的一个字符串
其中.*作用相同,?表示只选择了一个字符串,如果没有?的话,输出结果为

some dogs'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值