Files
ssongliu e55ea96f00 feat: support virtual machine (#13171)
* feat: support virtual machine

* feat: add vm operation logs
2026-07-02 15:07:48 +08:00

39 lines
757 B
Go

package re
import (
"fmt"
"regexp"
)
const (
OrderByValidationPattern = `^[a-zA-Z_][a-zA-Z0-9_]*$`
VMNameValidationPattern = `^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$`
VMCommonPattern = `^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,63}$`
)
var regexMap = make(map[string]*regexp.Regexp)
func Init() {
patterns := []string{
OrderByValidationPattern,
VMNameValidationPattern,
VMCommonPattern,
}
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)
}