const regex = /SQL: \[\d+\] (?<sql>.*) Sent SQL: \[\d+\] (?<send_sql>.*) Params:/s;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('SQL: \\[\\d+\\] (?<sql>.*) Sent SQL: \\[\\d+\\] (?<send_sql>.*) Params:', 's')
const str = `SQL: [126] INSERT INTO \`tbl_ip_data\` (\`ip_start\`, \`ip_end\`, \`region_id\`, \`country_id\`, \`create_at\`)
VALUES (:v0d, :v1d, :v2d, :v3d, :v4d) Sent SQL: [163] INSERT INTO \`tbl_ip_data\` (\`ip_start\`, \`ip_end\`, \`region_id\`, \`country_id\`, \`create_at\`)
VALUES ('1900145563', '1900145563', '440118', 'CN', '2022-04-15 21:46:42') Params: 5 Key: Name: [4] :v0d paramno=-1 name=[4] ":v0d" is_param=1 param_type=2 Key: Name: [4] :v1d paramno=-1 name=[4] ":v1d" is_param=1 param_type=2 Key: Name: [4] :v2d paramno=-1 name=[4] ":v2d" is_param=1 param_type=2 Key: Name: [4] :v3d paramno=-1 name=[4] ":v3d" is_param=1 param_type=2 Key: Name: [4] :v4d paramno=-1 name=[4] ":v4d" is_param=1 param_type=2 [] []`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
if ((m = regex.exec(str)) !== null) {
// 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