s = "1212" re.findall(r'(\d)(?:\d)(\1)+',s)
这适用于像“121656”但不是“1212”的字符串.这是一个与我认为的重叠比赛有关的问题.我该怎么处理?
(?=((\d)\d\2))
使用lookahead获得所有重叠的匹配.使用re.findall并从元组获取第一个元素.见演示:
https://regex101.com/r/fM9lY3/54