gpt4 book ai didi

python - 正则表达式 - 使用 finditer()

转载 作者:行者123 更新时间:2023-12-01 04:29:52 25 4
gpt4 key购买 nike

假设我有一个字符串 abbb。我正在尝试使用正则表达式打印以下模式:

a
ab
abb
abbb

我尝试这样做:

import re
line = "abbb"
m = re.finditer('ab*',line)
for i in m:
print i.group(1)

这不起作用。在 python 文档中,它说 ab* 将匹配 aaba 后跟任意数量的 bs。我想 finditer() 会将所有不同的匹配项存储在 [a,ab,...,abbb] 之类的列表中。网上的 finditer() 示例非常有限。我怎样才能实现这个目标?请注意,我需要使用正则表达式。

最佳答案

另一种正则表达式方式,反转之前的字符串,并使用包含在前瞻中的反转模式来获取重叠匹配:

>>> s = 'abbb'
>>> [i[::-1] for i in reversed(re.findall(r'(?=(b*a))', s[::-1]))]

关于python - 正则表达式 - 使用 finditer(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32535483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com