可以说我有一个字符串abbb
。我正在尝试使用正则表达式执行以下模式进行打印:
a
ab
abb
abbb
我试着做
import re
line= "abbb"
m = re.finditer('ab*',line)
for i in m:
print i.group(1)
这是行不通的。在python文档中,他们说
ab*
将匹配a
,ab
或a
,后跟任意数量的b
。我当时想finditer()
将所有不同的匹配项存储在像{a,ab,...,abbb}
这样的列表中。网络中finditer()
的例子非常有限。我该如何实现?请注意,我需要使用正则表达式。 最佳答案
另一种正则表达式方式,它反转之前的字符串,并使用前瞻中包含的反转模式来获得重叠的匹配项:
>>> s = 'abbb'
>>> [i[::-1] for i in reversed(re.findall(r'(?=(b*a))', s[::-1]))]