在Golang中,你可以使用regexp包来处理正则表达式。为了匹配Golang日志,首先需要了解Golang日志的格式。假设你的Golang日志格式如下:
[2021-09-01 12:34:56] [INFO] This is an example log message.
你可以使用以下正则表达式来匹配这种格式的日志:
package main
import (
"fmt"
"regexp"
)
func main() {
logPattern := `(\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\]) \[(INFO|WARN|ERROR)\] (.+)`
re := regexp.MustCompile(logPattern)
logLine := "[2021-09-01 12:34:56] [INFO] This is an example log message."
match := re.FindStringSubmatch(logLine)
if len(match) > 0 {
fmt.Printf("Date: %s\n", match[1])
fmt.Printf("Level: %s\n", match[2])
fmt.Printf("Message: %s\n", match[3])
} else {
fmt.Println("No match found")
}
}
在这个例子中,我们定义了一个正则表达式logPattern,用于匹配Golang日志。然后,我们使用regexp.MustCompile函数编译正则表达式。接下来,我们使用re.FindStringSubmatch函数在日志行中查找匹配项。如果找到匹配项,我们将打印出日期、日志级别和消息。
你可以根据你的Golang日志格式调整正则表达式。