import re
grades = 'AAABBBACBACCCCCAABCABACCCCAABCBBCA'
re.findall('(?:a{3})*', grades)
这里我想找到所有的字符串是三个'a'字符的倍数,然而结果是一个''
的列表,即。['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
此语法来自re文档
为了将第二重复应用于内部重复,可以使用括号。例如,表达式(?:a{6})*
匹配六个“a”字符的任意倍数。
我不知道哪里不对,你能帮我吗?
我希望它是['AAA']
,而结果显然不是。
1条答案
按热度按时间58wvjzkj1#
零是三的倍数。要排除零长度匹配,请使用“一个或多个”
+
。还要注意正则表达式是区分大小写的。