Python正则分组,后向引用,断言用法总结

本文总结了Python正则表达式中的分组、后向引用和断言用法。在分组中,介绍了无命名和有命名分组,并展示了如何通过命名分组引用。正则后向引用用于简化匹配,如标签元素匹配和字符串互换。此外,文章还探讨了正则中断言的差异,包括前向肯定断言,强调在Python中反向断言的限制。
摘要由CSDN通过智能技术生成
一.python正则分组

1.1 无命名分组
在正则分组中,隐藏的全局分组的索引号为0,即整个正则表达式的匹配结果,然后从左到右,第一个括号表示第一组,第二个表示第二组,依此类推

1.2 有命名分组
命名分组就是给需要用正则匹配的内容组重新取一个名字,语法格式为:(?P<name>regex),其中那么表示匹配到的分组别名

import re

the_str = "the target ip='192.168.0.1',version='1.0.0' "
group_res = re.search(r"ip='(?P<ip>\d+\.\d+\.\d+\.\d+).*", the_str)
print(group_res.group('ip'))  # 通过命名分组引用分组
打印结果:
>>>192.168.0.1

*(?P=name)通过命名分组名进行引用

(?P=name) 字符P必须是大写的P,name表示命名分组的分组名
(?P<name>)(?P=name) 引用分组的值匹配值必须与第一个分组匹配值相等才能匹配到


引用前一个分组,前后值相同都是2,故能匹配到
>>> re.match(r'(?P<tag>\d)(?P=tag)','66').groups()
('6',)

>>> re.match(r'(?P<tag>\d)(?P=tag)','66').group
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值