正規表現を使用して、部分文字列のすべての出現箇所を見つけようとしています。サブストリングは 3 つの部分で構成され、1 つ以上の「A」で始まり、1 つ以上の「N」が続き、1 つ以上の「A」で終わります。文字列を'AAANAANABNA'とします。この文字列を解析すると、出力として2 つの部分文字列'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 でなければなりません。どうすればそれを得ることができますか?