我正在尝试使用正则表达式查找子字符串的所有出现情况。这个子字符串由三部分组成,以一个或多个'A'开头,紧接着一个或多个'N',以一个或多个'A'结尾。假设有一个字符串'AAANAANABNA',如果解析该字符串,应该得到两个子字符串'AAANAA'和'AANA'作为输出。因此,我尝试了以下代码。
import regex as re
reg_a='A+N+A+'
s='AAANAANABNA'
sub_str=re.findall(reg_a,s,overlapped=True)
print(sub_str)
我得到了以下输出:
['AAANAA', 'AANAA', 'ANAA', 'AANA', 'ANA']
然而,我希望输出结果为:
['AAANAA', 'AANA']
也就是说,第一个匹配的字符串末尾的 A 应该成为下一个匹配字符串开头的 A。 我该如何实现这个功能,有什么想法?
overlapped=True
,学到了新东西。++ - The fourth bird