Android检查是有效的UUID

Android检查是有效的UUID,android,uuid,Android,Uuid,有没有办法检查字符串是否是有效的UUID 在我的情况下,我有一个文件列表,其中一些文件名是由UUID.randomUUID().toString()生成的UUID,其余的只是普通的.jpg文件 我知道通过使用UUID.fromString(filename)和catchIllegalArgumentException抛出,我将能够检查filename是否是格式正确的UUID。但考虑到文件列表中会有大量文件,这似乎非常昂贵。有没有一种方法可以在不抛出异常的情况下进行检查?我会使用regexp:[a

有没有办法检查字符串是否是有效的UUID

在我的情况下,我有一个文件列表,其中一些文件名是由
UUID.randomUUID().toString()
生成的UUID,其余的只是普通的
.jpg
文件


我知道通过使用
UUID.fromString(filename)
和catch
IllegalArgumentException
抛出,我将能够检查
filename
是否是格式正确的UUID。但考虑到文件列表中会有大量文件,这似乎非常昂贵。有没有一种方法可以在不抛出异常的情况下进行检查?

我会使用regexp:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

比如:

if(!Pattern.matches("[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", filename)) { 
    /* this is not a valid uuid */ 
}

我将使用regexp:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

比如:

if(!Pattern.matches("[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", filename)) { 
    /* this is not a valid uuid */ 
}