const regex = /(?:((?>.{1,25}(?:[^\r\n]{1,5}(?=\r?\n|$)|(?<=[^\S\r\n])[^\S\r\n]?|(?=\r?\n)|$|[^\S\r\n]))|.{1,25})(?:\r?\n)?|(?:\r?\n|$))/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?:((?>.{1,25}(?:[^\\r\\n]{1,5}(?=\\r?\\n|$)|(?<=[^\\S\\r\\n])[^\\S\\r\\n]?|(?=\\r?\\n)|$|[^\\S\\r\\n]))|.{1,25})(?:\\r?\\n)?|(?:\\r?\\n|$))', 'gm')
const str = `Aim for the moon. If you miss, you may hit a star. – Clement Stone
Nothing about us without us`;
const subst = `$1\r\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