package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)\b(?<number>[\d,]+(?:\.\d+)?)(?<space> ?|&[^;]{2,7};)(?<dimensions>(?:(?<mathjax>\$[^\n\$]+\$)|(?<unit>(?:Y|Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|p|f|a|z|y)?(?:m|g|s|A|K|mol|cd|Hz|N|Pa|J|W|C|V|F|Ω|S|Wb|T|H|lm|lx|Bq|Gy|Sv|kat|l|L))))`)
var str = `30 $m^2$
4,000 km
`
var substitution = "$<number> $<dimensions>"
fmt.Println(re.ReplaceAllString(str, substitution))
}
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/