python – 使用正则表达式查找所有出现的交替数字

前端之家收集整理的这篇文章主要介绍了python – 使用正则表达式查找所有出现的交替数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用正则表达式找到字符串中的所有交替数字.一个交替的数字被定义为两个相等的位数之间有一个数字;例如,1212包含2个交替(121和212),1111包含2个交替(111和111).我有以下正则表达式代码
s = "1212"
re.findall(r'(\d)(?:\d)(\1)+',s)

这适用于像“121656”但不是“1212”的字符串.这是一个与我认为的重叠比赛有关的问题.我该怎么处理?

解决方法

(?=((\d)\d\2))

使用lookahead获得所有重叠的匹配.使用re.findall并从元组获取第一个元素.见演示:

https://regex101.com/r/fM9lY3/54

猜你在找的Python相关文章