package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^(((\+|00)32\s?|0)4(60|[789]\d)\/?(((\s|\.)?\d{2}){3}|((\s|\.)?\d{3}){2})$)|(^((\+|00)32\s?|0)(\d(\s|\.|\/)?\d{3}|\d{2}(\s|\.)?\d{2})((\s|\.)?\d{2}){2}$)`)
var str = `+32497239319
0032497239319
0032/497/13/93/19
0032/497.13.93.19
0032/497/13/93/19
0032497/13.93.19
+32497/139319
0497/13.93.19
+32497.13.93.19
0497139319
0497 13 93 19
0497 139 319
jakkamakka
+32497139319 OF +32497149419
++32497139318
0123456789
0032123456789
036852931
003236852931
+3236852931
03/685.29.31
00323/685.29.31
+323/685.29.31
03.685.29.31
00323.685.29.31
+323.685.29.31
03/685/29/31
0032/3/685/29/31
+32/3/685/29.31
03/68.529.31
`
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/