package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^{map:\h+geo="(?P<lat>-?\d+(?:\.\d+(?:,\d+)?)?),(?P<lon>-?\d+(?:\.\d+(?:,\d+)?)?)"[^}]+}`)
var str = `{map: geo="20.471884,-157.505,6" p="Hawaii"}
{map: geo="-157.505,6,-20.471884,5" p="Hawaii"}
{map: geo="-157.505,6,20.471884" p="Hawaii"}
{map: geo="157,11111" p="Hawaii"}`
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/