Python regex找到所有重叠匹配吗?

Python regex找到所有重叠匹配吗?

我试图使用Python2.6中的Re找到更大系列中的每10位数字序列。

我很容易就能抓住没有重叠的比赛,但我想要每一场比赛的数字系列。例如。

在“123456789123456789”中

我应该得到以下清单:

[1234567891,2345678912,3456789123,4567891234,5678912345,6789123456,7891234567,8912345678,9123456789]

我已经找到了对“展望”的引用,但是我看到的例子只显示了数字对,而不是更大的分组,而且我无法将它们转换到两位数以上。


慕码人2483693
浏览 1142回答 3
3回答

波斯汪

您也可以尝试使用第三方regex模块(不是re),它支持重叠匹配。>>> import regex as re>>> s = "123456789123456789">>> matches = re.findall(r'\d{10}', s, overlapped=True)>>> for match in matches: print match...123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789

守着星空守着你

我喜欢雷克斯,但这里不需要他们。简单s =  "123456789123456789"n = 10li = [ s[i:i+n] for i in xrange(len(s)-n+1) ]print '\n'.join(li)结果123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789
打开App,查看更多内容
随时随地看视频慕课网APP