Duncan Asked:2020-09-15 07:24:40 +0800 CST2020-09-15 07:24:40 +0800 CST 2020-09-15 07:24:40 +0800 CST 常用表达。相交序列 772 如何从字符串中选择所有必要的序列,包括相交的序列? 如果我这样做: re.findall('\d{3}', '123456') 然后它输出:['123', '456'] 如何使其输出:['123', '234', '345', '456']? python 1 个回答 Voted Best Answer MarianD 2020-09-15T07:38:23+08:002020-09-15T07:38:23+08:00 您的问题不需要正则表达式: In[65]: strng = '123456' In[66]: [strng[i:i+3] for i in range(len(strng)-2)] Out[66]: ['123', '234', '345', '456'] 但是当你出于某种原因应用正则表达式时,你可以这样做 In[67]: pattern = re.compile(r'\d{3}') In[68]: [pattern.match(strng[i:]).group() ...: for i in range(len(strng)-1) if pattern.match(strng[i:])] Out[68]: ['123', '234', '345', '456'] 事实是我们从整行开始,逐渐从左边删除字符。
您的问题不需要正则表达式:
但是当你出于某种原因应用正则表达式时,你可以这样做
事实是我们从整行开始,逐渐从左边删除字符。