Я хотел бы получить строки из текста, где строки находятся между двумя заданными другими строками, - но обе эти две последние строки частично определяются выражениями регулярных выражений также.Python Regex: поиск выражения между двумя выражениями (также regex-ed)
Таким образом, из следующих строк:
ALPHA101BETAsomething1GAMMA532DELTA
ALPHA231BETAsomething2GAMMA555DELTA
ALPHA341BETAagainsomethingsomethingGAMMA998DELTA
Я хотел бы получить следующее:
something1
something2
againsomething
Моя проблема в том, что я не могу определить открытия и закрытия выражений, так что эти что-то плюс трехзначные выражения плюс снова что-то снова.
До сих пор я пытался, но не смог с этим:
re.findall("ALPHA(?:\d\.){3}BETA(.*?)GAMMA(?:\d\.){3}DELTA", pagetext)
Как я мог бы поручить анализатор, что данный матч регулярного выражения группа не является желаемым результатом, но часть открытия/закрытия строки?
Является ли их какой-либо линии Seperator? –
Что вы ожидаете от совпадения с '(?: \ D \.) {3}'? Есть ли буквальные точки в ваших входных строках? Возможно, все, что вам нужно, это ['(? S) ALPHA \ d {3} BETA (. *?) GAMMA \ d {3} DELTA'] (https://regex101.com/r/XUaVfi/1)? См. Также [демонстрация Python] (https://ideone.com/ecZPuA). –