package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)"Power":(?P<_power>[\d.]+).*"Voltage":(?P<_voltage>[\d.]+).*"Current":(?P<_current>[\d.]+)`)
var str = `{"Time":"2021-06-27T17:42:26","ENERGY":{"TotalStartTime":"2021-01-16T13:12:08","Total":56.040,"Yesterday":0.923,"Today":0.536,"Period":0,"Power":6,"ApparentPower":21,"ReactivePower":20,"Factor":0.29,"Voltage":233,"Current":0.088}}`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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/