const regex = /(^[A-Z][0-9]{6})\s([0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6})\s([0-9]{4})\s([a-z]*\/[a-z]*_[a-z]*.go:[0-9]*)\s\s(\[[a-z]*[0-9]*,[a-z]*=[0-9]*[0-9]\.[0-9]*\.[0-9]*\.[0-9]*:[0-9]*,[a-z]*,[a-z]*=[a-z]*\])\s([0-9])*\s([a-z]*)\s(".*?")\s(\{".*?\})\s(".*?")\s(\{\})\s([0-9]*.[0-9]*)\s([0-9*])\s([A-Z]*)\s([0-9]*)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(^[A-Z][0-9]{6})\\s([0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6})\\s([0-9]{4})\\s([a-z]*\\\/[a-z]*_[a-z]*.go:[0-9]*)\\s\\s(\\[[a-z]*[0-9]*,[a-z]*=[0-9]*[0-9]\\.[0-9]*\\.[0-9]*\\.[0-9]*:[0-9]*,[a-z]*,[a-z]*=[a-z]*\\])\\s([0-9])*\\s([a-z]*)\\s(".*?")\\s(\\{".*?\\})\\s(".*?")\\s(\\{\\})\\s([0-9]*.[0-9]*)\\s([0-9*])\\s([A-Z]*)\\s([0-9]*)', 'gm')
const str = `I220430 05:12:06.367747 2604 sql/exec_log.go:188 [n1,client=127.0.0.1:40190,hostnossl,user=root] 2 exec "\$ cockroach sql" {"imperva"[52]:READWRITE} "INSERT INTO imperva(ice_cream, ramen, pizza) VALUES ('mister', 'motomachi', 'pizzeria farina')" {} 4.714 1 OK 0`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
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