const regex = /^\s*(?:(?:\S\s?)*\s+){2}(?:L\d+:\s*)?| +(?= )/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^\\s*(?:(?:\\S\\s?)*\\s+){2}(?:L\\d+:\\s*)?| +(?= )', 'gm')
const str = `1FC8 0801 000A BTst.B #\$A, D1
1FCC 6608 BNE.B L315
1FCE 0240 00FF And #\$FF, D0
1FD2 43F8 0400 Lea.L (DispatchTab), A1
1FD6 E548 L315: LsL #\$2, D0
1FD8 2388 0000 Move.L A0, \$0(A1,D0.W)
1FDC 7000 MoveQ.L #\$0, D0
1FDE 4E75 Rts
1FE0 6102 L316: Bsr.B P42
1FE2 60F2 Bra.B L315
P42:
1FE4 0240 01FF And #\$1FF, D0
1FE8 43F8 0C00 Lea.L (ToolDispTable), A1
1FEC 0C40 0057 Cmp #\$57, D0
1FF0 6212 BHI.B L318
1FF2 670C BEQ.B L317
1FF4 0C40 004F Cmp #\$4F, D0
1FF8 6306 BLS.B L317
1FFA 0C40 0054 Cmp #\$54, D0
1FFE 6604 BNE.B L318
2000 43F8 0400 L317: Lea.L (DispatchTab), A1
2004 4E75 L318: Rts
2006 61DC L319: Bsr.B P42
2008 601C Bra.B L320
P_tGetTrapAddress:
200A 0801 0009 BTst.B #\$9, D1
200E 67F6 BEQ.B L319
2010 0240 01FF And #\$1FF, D0
2014 43F8 0C00 Lea.L (ToolDispTable), A1
2018 0801 000A BTst.B #\$A, D1
201C 6608 BNE.B L320
201E 0240 00FF And #\$FF, D0
2022 43F8 0400 Lea.L (DispatchTab), A1
2026 E548 L320: LsL #\$2, D0
2028 2071 0000 Move.L \$0(A1,D0.W), A0
202C 7000 MoveQ.L #\$0, D0
202E 4E75 Rts`;
const subst = ``;
// 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