nameComponentRegexpalphaNumericRegexpseparatorRegexpalphaNumericRegexp
optional()
func optional(res ...*regexp.Regexp) *regexp.Regexp { 返回匹配(组(表达式(res ...))。字符串()+`?`) }
repeated()
func 重复(res ...*regexp.Regexp) *regexp.Regexp { 返回匹配(组(表达式(res ...))。字符串()+`+`) }
因此,您需要的是
/^[a-z0-9]+(?:(?:[._]|__|-*)[a-z0-9]+)*$/
详情:
^[a-z0-9]+(?:(?:[._]|__|-*)[a-z0-9]+)*(?:[._]|__|-*).___[a-z0-9]+
aaaa*+
JS 演示: