package re import ( "fmt" "regexp" ) const ( OrderByValidationPattern = `^[a-zA-Z_][a-zA-Z0-9_]*$` ) var regexMap = make(map[string]*regexp.Regexp) func Init() { patterns := []string{ OrderByValidationPattern, } for _, pattern := range patterns { regexMap[pattern] = regexp.MustCompile(pattern) } } func GetRegex(pattern string) *regexp.Regexp { regex, exists := regexMap[pattern] if !exists { panic(fmt.Sprintf("regex pattern not found: %s", pattern)) } return regex } func RegisterRegex(pattern string) { regexMap[pattern] = regexp.MustCompile(pattern) }