This play clearly demonstrates my predicament.
Ultimately I'm trying to split an unruly string into words. To me "2015" is a word and so is "$100" but if the input is "One. 2wo, (three)" I want [One 2wo three]. Because go doesn't allow a Unicode aware regex I thought I'd first remove all "junk characters" and then use strings.Fields()
The problem is that any numbers are stripped:
reg := regexp.MustCompile(`[\[\](){}"?!,-:;,']`)
fmt.Println(reg.ReplaceAllString("one 1 zer0", ""))
// outputs "one zer" when I'd expect "one 1 zer0" :(