Python regex找到所有重叠匹配吗?我试图使用Python2.6中的Re找到更大系列中的每10位数字序列。我很容易就能抓住没有重叠的比赛,但我想要每一场比赛的数字系列。例如。在“123456789123456789”中我应该得到以下清单:[1234567891,2345678912,3456789123,4567891234,5678912345,6789123456,7891234567,8912345678,9123456789]我已经找到了对“展望”的引用,但是我看到的例子只显示了数字对,而不是更大的分组,而且我无法将它们转换到两位数以上。
3 回答
波斯汪
TA贡献1811条经验 获得超4个赞
regex
re
>>> import regex as re
>>> s = "123456789123456789"
>>> matches = re.findall(r'\d{10}', s, overlapped=True)
>>> for match in matches: print match
...
1234567891
2345678912
3456789123
4567891234
5678912345
6789123456
7891234567
8912345678
9123456789
守着星空守着你
TA贡献1799条经验 获得超8个赞
我喜欢雷克斯,但这里不需要他们。
简单
s = "123456789123456789"
n = 10
li = [ s[i:i+n] for i in xrange(len(s)-n+1) ]
print '\n'.join(li)
结果
1234567891
2345678912
3456789123
4567891234
5678912345
6789123456
7891234567
8912345678
9123456789
添加回答
举报
0/150
提交
取消