拆分数字模式

ins*_*ane 0 python string algorithm

我现在想要如何分割字符串, 44664212666666 into [44664212 , 666666]无论 58834888888888 into [58834, 888888888] 是否知道最后一个重复数字出现的位置.所以将它传递给函数说seperate(str)- >[non_recurring_part, end_recurring digits]

geo*_*org 5

print re.findall(r'^(.+?)((.)\3+)$', '446642126666')[0][:-1] # ('44664212', '6666')
Run Code Online (Sandbox Code Playgroud)

正如评论中指出的那样,最后一组应该是可选的,以处理没有正确重复符号的字符串:

print re.findall(r'^(.+?)((.)\3+)?$', '12333')[0][:-1] # ('12', '333')
print re.findall(r'^(.+?)((.)\3+)?$', '123')[0][:-1]   # ('123', '')
Run Code Online (Sandbox Code Playgroud)