package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?im)("(post\s*(office)?)?\s*box\s*[#-]?\s*(\d+)?"|"[\w\s]*?p(ost)?\s*[.-]?\s*o?\s*\.?\s*b?(ox)?\.?\s*(\d+)?"|"\s*number\s*\d+")`)
var str = ` "Box 123", "Box-122", "Box122", "HC73 P.O. Box 217", "P O Box125", "P. O. Box", "P.O 123", "P.O. Box 123", "P.O. Box", "P.O.B 123", "P.O.B. 123", "P.O.B.", "POB 123", "POB", "POBOX123", "Po Box", "Post 123", "Post Box 123", "Post Office Box 123", "Post Office Box", "box #123", "box 122", "box 123", "number 123", "p box", "p-o box", "post office box"
"The Postal Road", "Box Hill", "123 Some Street", "Controller's Office", "pollo St.", "123 box canyon rd", "777 Post Oak Blvd", "PSC 477 Box 396", "RR 1 Box 1020"`
var substitution = ""
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/