Cel: Próbuję wykonać cięcie w języku Python RegEx, w którym podział nie wykonuje dokładnie tego, co chcę. Muszę przeciąć wzór, ale między postaciami.Wycinanie we wzorze za pomocą Python regex
Co szukam:
muszę rozpoznać wzór poniżej w łańcuchu, i podzielić ciąg w miejscu rury. Rura nie znajduje się w łańcuchu, pokazuje tylko to, co chcę podzielić.
Wzór: CDE|FG
String: ABCDEFGHIJKLMNOCDEFGZYPE
Wyniki: ['ABCDE', 'FGHIJKLMNOCDE', 'FGZYPE']
Co próbowałem:
I wydaje się, że za pomocą split z nawiasu jest blisko, ale nie robi” t zachowaj wzór wyszukiwania dołączony do wyników, tak jak tego potrzebuję.
re.split('CDE()FG', 'ABCDEFGHIJKLMNOCDEFGZYPE')
Daje,
['AB', 'HIJKLMNO', 'ZYPE']
Kiedy rzeczywiście trzeba,
['ABCDE', 'FGHIJKLMNOCDE', 'FGZYPE']
Motywacja:
Ćwicząc z RegEx, i chciałem zobaczyć, czy mógłbym użyć RegEx do stworzenia skryptu, który przewidywałby fragmenty trawienia białka przy użyciu konkretnych proteaz.
Czy rozwiązanie oparte non-regex do przyjęcia dla Ciebie? – wim
Absolutnie! Jednak szykowałem się do elegancji. Mogę to zrobić ręcznie z akapitem kodu Pythona. –
Czego potrzebujesz to split z '(? <= CDE) (? = FG)' – sln