是否可以检查UUID版本?
我知道UUID().uuidString
是版本4。
我有一个来自服务器的变量,它是UUID版本1。
现在我要检查UUID的版本并决定我的操作。
答案 0 :(得分:3)
第4版UUID的格式为xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
,其中x是任何十六进制数字,y是8、9,A或B之一,如下所述:
How to determine if a string is a valid v4 UUID?
如果仅使用版本4和版本1,则可以执行以下操作:
func checkUUIDVersion(uuid: String) -> Int {
let regx = "^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}"
if uuid.uppercased().range(of: regx, options: .regularExpression, range: nil, locale: nil) != nil {
return 4;
}
return 1;
}