Перекрывающийся трюк с совпадением с упреждающим прогнозом использует тот факт, что паттерн (?=...)
соответствует пустому месту, а затем извлекает захваченную группу, вложенную в упреждающий просмотр.
Вам необходимо распечатать группу 1, в явном виде:
for results in sequences:
print(results.group(1))
Это приведет к:
GMTPRLGLESLLE
TPRLGLESLLE
Возможно, вы захотите включить символы M
и p
вгруппа захвата:
pattern = re.compile(r'(?=(M.*?p))')
, в этот момент ваш вывод становится:
MGMTPRLGLESLLEp
MTPRLGLESLLEp