package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?s)SQL: \[\d+\] (?<sql>.*) Sent SQL: \[\d+\] (?<send_sql>.*) Params:`)
var 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 [] []`
if len(re.FindStringIndex(str)) > 0 {
fmt.Println(re.FindString(str),"found at index",re.FindStringIndex(str)[0])
}
}
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 Golang, please visit: https://golang.org/pkg/regexp/