1

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

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

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

4

1 回答 1

4

我会使用正则表达式:[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 */ 
}
于 2013-08-23T09:13:04.557 回答