package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`Tasks: (\d+) total, (\d+) running, (\d+) sleeping, (\d+) stopped, (\d+) zombie`)
var str = `top - 11:41:04 up 21 min, 1 user, load average: 0.00, 0.01, 0.07
Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.7 us, 2.2 sy, 0.5 ni, 92.0 id, 0.3 wa, 0.0 hi, 0.3 si,
KiB Mem: 501692 total, 475348 used, 26344 free, 13032 buffers
KiB Swap: 0 total, 0 used, 0 free. 281204 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
1 root 20 0 33632 2940 1468 S 0.0 0.6 0:01.87
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01
...
17836 www-data 20 0 287448 6708 2424 S 0.0 1.3 0:00.02
17914 vagrant 20 0 23528 1396 1048 R 0.0 0.3 0:00.00`
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/