package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(\S+(?: \S+)*): *(\S+(?: \S+)*)`)
var str = `OK
AT!GSTATUS?
!GSTATUS:
Current Time: 2420 Temperature: 30
Reset Counter: 1 Mode: ONLINE
System mode: LTE PS state: Attached
LTE band: B30 LTE bw: 10 MHz
LTE Rx chan: 1234 LTE Tx chan: 12345
LTE CA state: NOT ASSIGNED
EMM state: Registered Normal Service
RRC state: RRC Idle
IMS reg state: No Srv
PCC RxM RSSI: -74 RSRP (dBm): -103
PCC RxD RSSI: -74 RSRP (dBm): -104
Tx Power: 0 TAC: 123A (1234)
RSRQ (dB): -12.4 Cell ID: 1234AB56 (12345678)
SINR (dB): 9.4`
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/