const regex = /(?:((?>.{1,48}(?:(?<=[^\S\r\n])[^\S\r\n]?|(?=\r?\n)|$|[^\S\r\n]))|.{1,48})(?:\r?\n)?|(?:\r?\n|$))/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?:((?>.{1,48}(?:(?<=[^\\S\\r\\n])[^\\S\\r\\n]?|(?=\\r?\\n)|$|[^\\S\\r\\n]))|.{1,48})(?:\\r?\\n)?|(?:\\r?\\n|$))', 'g')
const str = `----+----1----+----2----+----3----+----4----+--8 *** Fonte tipo A com Página de Código pc850: À noite, vovô Kowalsky vê o ímã cair no pé do pingüim quêixoso e vovó põe açúcar no chá de tâmaras do jabuti feliz. ÁÉÍÓÚáéíóúçÇãõÃÕÊêÂâÔôÀà`;
const subst = `$1\n`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions