Сложно сказать словами, что делает.
Видимо, ищет символы, не являющиеся пробелами (включая \n) в конце строки и заменяет их на "..."
Причем, перед ними должен быть один пробел (или символ \n) и любое количество специальных символов.
Как-то так, хотя это не точное объяснение.
Вообще довольно странный regex, не для всех текстов подходит, а только для очень специфических. Может, что-то другое считает две строки? Не этот код?
Вот сайтик для развлечения:
https://regex101.com/
Там можно вбить свою регулярку, посмотреть "на словах", что она делает, а также поэкспериментировать с изменяемым текстом.
Там даже шпаргалка по регуляркам есть, так что можно уже самому начать понимать, что за магия происходит.
Для трех строк я бы сделал что-то в этом роде:
$(this).text(function(index, text) {
return text.replace(/^.*[\r\n].*[\r\n].*([\r\n][\s\S]*)$/, '...');
});
Но это совсем не похоже на то, что в вопросе. Прямолинейный тупой подсчёт строк и замена всего, что длиннее, на многоточие.