package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`\[?\s*(\d+)(?=(?:, \d+)|\])(?=[^\[]*\]).`)
var str = `there were 4 cats [85] and 3 dogs [1, 2, 75, 99]
this version will not handle malformed citations well [4,3, 2, 17,7,10]
As you can see it handles numbers outside of citations, multiple citations pretty well.
However it does depend on a fairly reliable citation format.`
var substitution = "[$1]"
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/