package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(,)?(\d)(\d*)(?=(?=,|:).*?~.*?;0*\2\3_(.)(.{3}))|(,)(\d)(\d{3})(?=(?=,|:))|(:)(\d)|(#)(?=\d)(?=.*(,))`)
var str = `#:10100010~;0101_1000;0110_1001;0111_1010;1000_1011;1001_1100;1010_1101;1011_1110;1100_1111,~0000_00001_10010_20011_30100_40101_50110_60111_71000_81001_9`
var substitution = "$4$7$1$6$5$8$10$9$11$12"
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/