regex python中ring模块内重复二次重复

plicqrtu  于 2023-10-22  发布在  Python
关注(0)|答案(1)|浏览(119)
import re
grades = 'AAABBBACBACCCCCAABCABACCCCAABCBBCA'
re.findall('(?:a{3})*', grades)

这里我想找到所有的字符串是三个'a'字符的倍数,然而结果是一个''的列表,即。
['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
此语法来自re文档
为了将第二重复应用于内部重复,可以使用括号。例如,表达式(?:a{6})*匹配六个“a”字符的任意倍数。
我不知道哪里不对,你能帮我吗?
我希望它是['AAA'],而结果显然不是。

58wvjzkj

58wvjzkj1#

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

(?:A{3})+

还要注意正则表达式是区分大小写的。

相关问题