Вы можете выполнить глобальное совпадение с этим шаблоном: /[^\n]+(?:\r?\n|$)/g
Соответствует любому не символу новой строки, затем соответствует необязательному \r
, за которым следует \n
или конец строки.
var input = "foo\r\n\nbar\nbaz";
var result = input.match(/[^\n]+(?:\r?\n|$)/g);
Результат: ["foo\r\n", "bar\n", "baz"]