+func getKeyValue(text string) (string, string) {
+ cols := strings.SplitN(text, ":", 2)
+ if len(cols) != 2 {
+ return "", ""
+ }
+ k := cols[0]
+ if len(k) == 0 {
+ return "", ""
+ }
+ if !((k[0] == '%') ||
+ ('a' <= k[0] && k[0] <= 'z') ||
+ ('A' <= k[0] && k[0] <= 'Z')) {
+ return "", ""
+ }
+ for _, c := range k {
+ if !((c == '_') ||
+ ('a' <= c && c <= 'z') ||
+ ('A' <= c && c <= 'Z') ||
+ ('0' <= c && c <= '9')) {
+ return "", ""
+ }
+ }
+ return k, strings.TrimPrefix(cols[1], " ")
+}
+