4

正規表現を使用して、部分文字列のすべての出現箇所を見つけようとしています。サブストリングは 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 でなければなりません。どうすればそれを得ることができますか?

4

3 に答える 3