Я не могу говорить за -i -0pe
флаги, но регулярное выражение:
s/^Insert\s*(.*)\.png\s*\n([^\n]*)$/!\[\2](..\/figures\/\1-tn.png)/mg
Будет:
s/^Insert\s*\(.*\).png\s*\n\(.*\)$/!\[\2](..\/figures\/\1-tn.png)/g
Обратите внимание, что вы должны избегать групп захвата и что я использовал .*
вместо [^\n]*
во второй группе захвата. Вам не нужен многострочный флаг.