Я плохо разбираюсь в регулярных выражениях и смотрел на некоторые онлайн-ресурсы для того, что я хотел бы сделать. Так в основном, у меня есть регулярное выражение в Python следующим образом:Получите полную подстроку, соответствующую шаблону регулярных выражений
import re
pattern = re.compile(r'(?=(ATG(?:...)*?)(?=TAG|TGA|TAA))')
Это должно найти все строки, к югу, которые начинаются с ATG и заканчиваются в TAG или TGA или ТАА. Я использую его как:
str = "ATGCCCTAG"
print pattern.findall(str)
Однако это возвращает ATGCCC
и удаляет концевая TAG
, и я хотел бы, чтобы держать задний TAG
. Как я могу изменить его, чтобы дать мне полную подстроку?
Я думаю, вы действительно ищете ['^ ATG (?: ...) *? (?: TAG | TGA | TAA) $'] (https://regex101.com/r/wI7hT9/2). –
Нет, он не должен начинаться с ATG. Может быть подстрокой. – Luca