From 30dea3e46f76a7b387006f793088f5e588b29e0a Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Mon, 19 Jun 2023 17:33:23 +0800 Subject: [PATCH] add readinfo in gala-ops plugin --- gala-ops/server/utils/tools.go | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 gala-ops/server/utils/tools.go diff --git a/gala-ops/server/utils/tools.go b/gala-ops/server/utils/tools.go new file mode 100644 index 00000000..c8d8f1a2 --- /dev/null +++ b/gala-ops/server/utils/tools.go @@ -0,0 +1,47 @@ +package utils + +import ( + "bufio" + "fmt" + "regexp" + "strings" +) + +// 按行使用正则语言查找结构体的属性信息 +func ReadInfo(reader *strings.Reader, reg string) (string, error) { + scanner := bufio.NewScanner(reader) + var result string + for { + if !scanner.Scan() { + break + } + line := scanner.Text() + line = strings.TrimSpace(line) + reg := regexp.MustCompile(reg) + x := reg.FindAllString(line, -1) + if x == nil { + continue + } + str := strings.Fields(x[0]) + length := len(str) + if length < 3 { + continue + } else if length == 3 { + result = str[2] + return result, nil + } else { + i := 3 + result = str[2] + for { + if i == length { + break + } + result = result + " " + str[i] + i += 1 + + } + return result, nil + } + } + return string(""), fmt.Errorf("failed to match struct properties") +} -- Gitee