package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^[a-z](?=(?:[a-z]*\d){0,4}(?![a-z]*\d))(?=[a-z\d]{3,11}$)[a-z\d]+$`)
var str = `a1a2a3a4aaaa
a3333aaaaaaa
a1a2a3aaaaa2
a1a2a3
a222
aaaa
a2aa
f2fdfgdd
w333rrrrrrr4
rrrrrrrr4444
r22rrrrrrrrr
g4fff333ffff
333333333333
1111
1aaa
1aaaaaaaaaaa
1a2aaaaaaaaa
a1aaaaaaaaaaa
a11111aaaaaa
a122a3aaaaa2
a1a2a3a4a5aa
`
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/