python 中 re 模块中的内部重复的第二次重复

huc*_*ing 0 python regex

import re
grades = 'AAABBBACBACCCCCAABCABACCCCAABCBBCA'
re.findall('(?:a{3})*', grades)
Run Code Online (Sandbox Code Playgroud)

在这里我想找到所有是三个“a”字符的倍数的字符串,但结果是一个列表'',即

['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']

该语法来自重新文档

要将第二次重复应用于内部重复,可以使用括号。例如,表达式(?:a{6})*匹配六个“a”字符的任意倍数。

我不知道哪里错了,你能帮我吗?

我希望是这样,['AAA']但结果显然不是。

wja*_*rea 5

零是三的倍数。要排除零长度匹配,请使用“一个或多个”, +

(?:A{3})+
Run Code Online (Sandbox Code Playgroud)

另请注意,正则表达式区分大小写。