Вы можете использовать это регулярное выражение, чтобы пропустить первое вхождение вашего текста и сопоставить второе / последнее вхождение,
^.*(now saving to disk).*$
Демо
Поскольку я использовал .*
, который захватывает любой текст жадным образом, следовательно, он останавливается только на последнем вхождении и соответствует последнему вхождению вашего текста и соответствует этому.
Кроме того, ваше регулярное выражение ^.*now saving to disk.*(?=now saving to disk).*$
почти правильно, за исключением того, что вы не должны были использовать ?=
в своей группе, что фактически делало его прогнозным выражением, а не просто захватывало его в намеченной первой группе.Так что, если вы просто удалите ?=
из своего регулярного выражения, даже ваше регулярное выражение будет работать отлично и также будет иметь наилучшую производительность.
Демонстрация для вашего регулярного выражения после удаления ?=