Итак, у меня есть текстовый файл, и есть несколько строк строки «Продолжайте читать основную историю». Скажем, текст выглядит следующим образом:python regex сохранить строки между первым и последним термином
часть 1
Продолжить чтение основного сюжета
часть 2
Продолжить чтение основного сюжета
часть 3
Продолжить чтение основной истории
Продолжить чтение основного сюжета
часть 4
что я хочу есть part2 и part3, как показано ниже:
часть 2
Продолжить чтение основного сюжета
часть 3
, так как он находится между первым появлением «Продолжить чтение основной истории» и последним его происшествием. Сейчас я думаю об использовании следующего кода:
my_regex = re.compile("(Continue reading the main story)"+
".*"+ # match as many chars as possible
"(Continue reading the main story)",
re.DOTALL)
new_str = my_regex.sub("\1\2", text)
Однако его не работает. Как это исправить?
Для уточнения, пожалуйста, обновите ваш пост вместе с ожидаемым выходом. – Saleem
Так как '. *?' - это * не-ответное совпадение для любого символа, ваше регулярное выражение, вероятно, остановит * первое * время, которое оно встретит в строке «Продолжить ...». – Evert
извините, что это должно быть. *, Который жадный, нет. *? –