1

文字列が有効な UUID かどうかを確認する方法はありますか?

私の状況では、ファイルのリストがあり、それらのいくつかは によって生成された UUID であるファイル名を持ちUUID.randomUUID().toString()、残りは通常の.jpgファイルです。

UUID.fromString(filename)と catch throw を使用することで、適切にフォーマットされた UUID であるIllegalArgumentExceptionかどうかを確認できることを知っています。filenameしかし、ファイルリストにたくさんのファイルがあることを考えると、これは非常にコストがかかるようです。例外がスローされずにチェックできる方法はありますか?

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 に答える