const regex = /(\#)([a-zA_Z0-9]*)(\#)(\s{1})(.*)\n{1}(\s{2})([a-zA_Z0-9]*)(\s{3})(.*)/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(\\#)([a-zA_Z0-9]*)(\\#)(\\s{1})(.*)\\n{1}(\\s{2})([a-zA_Z0-9]*)(\\s{3})(.*)', 'g')
const str = `#1# OPTION 1
2 OPTION 2
3 OPTION 3
4 OPTION 4
5 OPTION 5
6 OPTION 6
7 OPTION 7
8 OPTION 8
9 OPTION 9
10 OPTION 10
100 OPTION 100
1000 OPTION 1000
[REPLACEALL](\\#)([a-zA_Z0-9]*)(\\#)(\\s{1})(.*)\\n{1}(\\s{2})([a-zA_Z0-9]*)(\\s{3})(.*)[WITH]\$6\$2\$8\$5
#\$7#\$4\$9`;
const subst = `$6$2$8$5\n#$7#$4$9`;
// 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