我有以下代码:
func GetUUIDValidator(text string) bool {
r, _ := regexp.Compile("/[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/")
return r.Match([]byte(text))
}
但是,当我将其fbd3036f-0f1c-4e98-b71c-d4cd61213f90
作为值传递时,得到了false
,而实际上它是一个UUID v4。
我究竟做错了什么?
试试...
func IsValidUUID(uuid string) bool {
r := regexp.MustCompile("^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[8|9|aA|bB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}$")
return r.MatchString(uuid)
}
实时示例:https://play.golang.org/p/a4Z-Jn4EvG
注意:正如其他人所说,用正则表达式验证UUID可能很慢。如果您需要更好的性能,也可以考虑其他选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句