const regex = new RegExp('([0-9]{1,2}:[0-9]{2}) (AM|PM)(\\n)(.*)\\n', 'gmu')
const str = `5:47 PM
[EASY] Panzer Pebble joined the server
5:47 PM
Trigger executed raw command message "76561199679367168" Welcome to EASY Company | Level 50+! If you have any issues, please report it by typing !admin (reason) in chat. Come check us out at discord.gg/easycompany. You MUST be level 50 or higher to play on this server and level 75 or higher to play commander.
5:47 PM
Player [EASY] Panzer Pebble switched from None to Allies
5:47 PM
MESSAGE: player [[EASY] Panzer Pebble(76561199679367168)], content [We are trying to populate the server which means special rules apply.
5:56 PM
MESSAGE: player [[EASY] Panzer Pebble(76561199679367168)], content [Vote for the nextmap:
5:59 PM
MESSAGE: player [[EASY] Panzer Pebble(76561199679367168)], content [We are trying to populate the server which means special rules apply.
5:59 PM
MESSAGE: player [[EASY] Panzer Pebble(76561199679367168)], content [This server is under level thresholds control.
6:18 PM
Player [EASY] Panzer Pebble switched from None to Axis
7:28 PM
MESSAGE: player [[EASY] Panzer Pebble(76561199679367168)], content [Vote for the nextmap:
7:48 PM
MASTER CHIEF (Axis) killed [EASY] Panzer Pebble (Allies) with GEWEHR 43
7:49 PM
Yustitsiya (Axis) killed [EASY] Panzer Pebble (Allies) with MP40
9:00 PM
MESSAGE: player [[EASY] Panzer Pebble(76561199679367168)], content [Vote for the nextmap:`;
const subst = `\g<1>\g<2> \g<4>\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