package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^((091|\+91)?|\((091|\+91)?\)|(91)?|\(91\)|0)? ?[7-9][0-9]{9}$`)
var str = `+91 7990989898
91 7990989898
091 7990989898
0 7990989898
(0+91)7990989898
+7990989898
0(+91) 7990989898
0(91) 7990989898
7990989898
+917990989898
917990989898
07990989898
0917990989898
(91)7990989898
(+91)7990989898
(91) 7990989898
(+91) 7990989898
(091) 7990989898
(091)7990989898
0+91 7990989898`
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/