Попробуйте определить метод
private string AppendNewLineToMatch(Match match) {
return match.Value + Environment.NewLine;
}
и использование
string result = exp.Replace(toTest, AppendNewLineToMatch);
Это должно вызывать метод для каждого совпадения и заменять его результатом этого метода. Результатом метода будет соответствующий текст и символ новой строки.
РЕДАКТИРОВАТЬ: Кроме того, я согласен с Оливером. Правильное определение регулярного выражения должно быть:
string regex = @"([^.]*[.]\s*){4}";
Еще одно редактирование: исправлено регулярное выражение, надеюсь, на этот раз я понял правильно.