验证没有分隔符“-”的 UUID

jan*_*jan 1 java regex validation uuid

我以“005056963AB75FD48BDC59C100314C40”之类的格式获取UUID,并想验证它们。我试过这样的代码:

public boolean isUUID(String uuid){

    try {
        UUID.fromString(uuid);
    } catch (Exception e) {
        return false;
    }
    return true;

}
Run Code Online (Sandbox Code Playgroud)

但这会告诉我“005056963AB75FD48BDC59C100314C40”不是有效ID。另一方面,站点http://guid.us/Test/GUID告诉我它是,并给我一个添加了“-”的 UUID。是否有一种优雅的方法可以在 Java 中验证此 UUID,还是必须手动将“-”添加到正确的位置?

Evg*_*eev 5

尝试正则表达式

    uuid = uuid.replaceAll("(.{8})(.{4})(.{4})(.{4})(.+)", "$1-$2-$3-$4-$5");
    UUID.fromString(uuid);
Run Code Online (Sandbox Code Playgroud)