package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`num:\s*{\s*(\d+)\s*}[\s\S]+?(?:ip\S+:{\s*([\d\.]+)\s*}[\s\S]+?)[\s\S]+?(?:ip\S+:{\s*([\d\.]+)\s*}[\s\S]+?)[\s\S]+?Uplink:\s*{\s*(\d+)\s*}[\s\S]+?Downlink:\s*{\s*(\d+)}\s*[\s\S]+xTime:{\s*([\s\d-:]*?)\s*}`)
var str = `{ num:{3025285000} }
{ ipadd:{iPadd:{iPv4add:{111.111.112.223} } } }
{ ipval:{iPadd:{13.100.1.11} } }
{ :{abc:{-} ddf:{-} mainVALUplink:{139161} mainVALDownlink:{6269538} kppacRR:{bbckdo} xTime:{2019-07-22 18:09:55 -03:00 } ppwo:{-} wwe:{-} iiurur:{qCI:{8} eerrr:{-} pppwie:{-} iiwww:{-} oouryru:{-} gg:{104} oosp:{-} pppsss:{-} } } }`
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/