我想使用正则表达式找到字符串中的所有交替数字.交替数字被定义为两个相等的数字,其间具有数字; 例如,1212包含2个交替(121和212),1111包含2个交替(111和111).我有以下正则表达式代码:
s = "1212" re.findall(r'(\d)(?:\d)(\1)+', s)
这适用于像"121656"这样的字符串,但不适用于"1212".这与我认为的重叠匹配有关.我该怎么处理?
(?=((\d)\d\2))
使用前瞻来获得所有重叠的匹配.使用re.findall
并从元组中获取第一个元素.看演示:
https://regex101.com/r/fM9lY3/54