gpt4 book ai didi

python - 正则表达式不匹配

转载 作者:数据小太阳 更新时间:2023-10-29 03:46:28 25 4
gpt4 key购买 nike

<分区>

我尝试使用正则表达式从日志文件中获取 SQL 信息

我需要的信息是SQL的运行时间,SQL语句,SQL的参数

这是我的代码:

package main

import (
"os"
"fmt"
"io/ioutil"
"regexp"
)

func main(){
file,err:=os.OpenFile("./log.txt",os.O_RDWR,0755)
if err !=nil{
fmt.Println(err)
}
b,err:=ioutil.ReadAll(file)
str:=string(b)
r,err:=regexp.Compile(`\[ORM\][\w\W]+?(\d*.\d*ms|\d*.\d*s)\][ -]+\[([\w\W]+?)\]`)

s:=r.FindAllStringSubmatch(str,-1)
fmt.Println(s[0][3])
fmt.Println(s[1][3])
}

这是我的日志样本

[ORM]2018/08/03 10:23:50 -[Queries/read] - [ OK / db.Query / 432.4ms] - [SELECT acc.*,gp.group_name,gp.group_id,org.org_name,group_concat(r.role_name) role_name FROM sys_account acc LEFT JOIN sys_org org on org.org_id=acc.org_id LEFT JOIN sys_group gp on gp.group_id=org.group_id LEFT JOIN sys_account_role ar on ar.acct_id=acc.acct_id and ar.is_del=0 LEFT JOIN sys_role r on r.role_id=ar.role_id where 1=1 and acc.acct_type=1 group by acc.acct_id order by acc.create_time desc LIMIT 0, 15] - `1` `ASDFASDF` nsq consumer2: INF 13 [RYOLST_Ch_admin/crm] (192.168.1.233:4150) received CLOSE_WAIT from nsqd nsq consumer2: INF 13 [RYOLST_Ch_admin/crm] (192.168.1.233:4150) beginning close nsq consumer2: INF 13 [RYOLST_Ch_admin/crm] (192.168.1.233:4150) readLoop exiting nsq consumer2: INF 13 [RYOLST_Ch_admin/crm] (192.168.1.233:4150) breaking out of writeLoop nsq consumer2: INF 13 [RYOLST_Ch_admin/crm] (192.168.1.233:4150) writeLoop exiting [ORM]2018/08/03 10:23:50 -[Queries/default] - [ OK / db.Query / 0.6ms] - [select * from sys_group where group_id=? ] - `111` `qwqwqw`

我希望如此打印出来

`1` `ASDFASDF`

`111``qwqwqw`

我现在只剩下最后一个我无法得到的参数

这些参数可能是多个也可能不是多个、你也可以在文件周围有太多的参数

我自己试过:

r,err:=regexp.Compile(`\[ORM\][\w\W]+?(\d*.\d*ms|\d*.\d*s)\][ -]+\[([\w\W]+?)\][ -]*((\W\w*\W{1,2})*)`)
r,err:=regexp.Compile(`\[ORM\][\w\W]+?(\d*.\d*ms|\d*.\d*s)\][ -]+\[([\w\W]+?)\][- ]*([^\n]*)`)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com