import redef repetitions(s): r = re.compile(r"(.+?)1+") for match in r.finditer(s): yield (match.group(1), len(match.group(0))/len(match.group(1)))
使用最短的重复单位查找所有不重叠的重复匹配项:
>>> list(repetitions("blablabla"))[('bla', 3)]>>> list(repetitions("rablabla"))[('abl', 2)]>>> list(repetitions("aaaaa"))[('a', 5)]>>> list(repetitions("aaaaablablabla"))[('a', 5), ('bla', 3)]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)