Я пытаюсь извлечь строку в середине строки с определенным словом в конце или без него. Например, эта строка:
START - some words and not THIS
должна возвращать «некоторые слова и не», а также строка:
START - some words and not
также должна возвращать ту же строку. Я попытался использовать lookahead из примеров, которые я нашел с чередованием для EOL, но добавление чередования возвращает строку, заканчивающуюся THIS. Вот регулярное выражение python:
[^-]*- (.+(?= THIS|$))
Удаление | $ работает, кроме случаев, когда строка заканчивается без ЭТОГО. В данных, которые я анализирую, есть небольшое количество записей, в которых отсутствует "ЭТО", поэтому мне нужно учесть оба. Какой правильный шаблон для этого?