const regex = /^\[(.*?)\] \[(.*?)\] ID: \d+ long: (\d+(?:\.\d+)?), lat: (\d+(?:\.\d+)?), heading: \d+(?:\.\d+)?$/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^\\[(.*?)\\] \\[(.*?)\\] ID: \\d+ long: (\\d+(?:\\.\\d+)?), lat: (\\d+(?:\\.\\d+)?), heading: \\d+(?:\\.\\d+)?$', 'gm')
const str = `[2022-02-15 15:50:20.551] [user01] ID: 1 long: 18.03580993572624, lat: 59.29910442961695, heading: 309.700000
[2022-02-15 15:51:10.545] [user02] ID: 2 long: 18.03580232322323, lat: 59.29910441212122, heading: 23.40000`;
const subst = `$1, $2, $4, $3`;
// 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