Perl:
хлебать весь файл в массив
Цикл по индексу массива
если флаги не установлены и появляется первое совпадение, установите флаг
если флаг и вторая строка совпадают, установите другой флаг
если и флаг, и третья строка совпадают, удалите три строки из массива
Конец цикла
Распечатать измененный массив обратно
также должен работать в Python
-
Если вы хотите использовать одно регулярное выражение для сопоставления по нескольким строкам, для этого в perl есть флаг "m". От perlre:
m Рассматривать строку как несколько строк. То есть измените ^'' and
$ '' с соответствия только в самом начале или конце строки на начало или конец любой строки в любом месте строки,
s Обрабатывать строку как одну строку. То есть измените .'' to match any character
whatsoever, even a newline, which it
normally would not match. The /s and
/m modifiers both override the $*
setting. That is, no matter what $*
contains, /s without /m will force
^ '' совпадать только в начале строки, а $ '' совпадать только в конце (или непосредственно перед новой строкой в конце) строка.Вместе, как /ms, они позволяют. '' Соответствовать любому символу, но в то же время позволяют ^ '' и $ '' соответствовать соответственно сразу после и непосредственно перед символами новой строки в строке.