Java UUID 正則表達式

Java UUID 正則表達式

UUID,即通用唯一識別碼(Universally Unique Identifier)。

UUID的介紹(來自百度百科)

UUID是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。

UUID由以下幾部分的組合:

(1)當前日期和時間,UUID的第一個部分與時間有關,如果你在生成一個UUID之後,過幾秒又生成一個UUID,則第一個部分不同,其餘相同。

(2)時鐘序列。

(3)全局唯一的IEEE機器識別號,如果有網卡,從網卡MAC地址獲得,沒有網卡以其他方式獲得。

標準的UUID的格式:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)

其中每個x表示一個16進制的數字(小寫)。即共32的16進制的數字,使用分隔符,分割成8-4-4-4-12五部分。

用正則表達式表示爲:

[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}

對應可以編寫Java 工具類:

package com.ysx.pattern;

import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author youngbear
 * @email [email protected]
 * @date 2019-04-23 22:50
 * @blog https://blog.csdn.net/next_second
 * @github https://github.com/YoungBear
 * @description
 */
public class UUIDPattern {

    /**
     * 標準的UUID
     * 32位16進制的數字,用分隔符分成8-4-4-4-12的格式
     */
    private static final Pattern UUID_PATTERN = Pattern.compile("[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}");

    /**
     * 判斷一個字符串是否是有效的UUID
     *
     * @param uuid
     * @return
     */
    public static boolean isValidUUID(String uuid) {
        Matcher matcher = UUID_PATTERN.matcher(uuid);
        return matcher.matches();
    }

    /**
     * 隨機生成UUID
     *
     * @return
     */
    public static String uuid() {
        return UUID.randomUUID().toString();
    }
}

更多文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章