~/devtools / regex / uuid
tool::regex-guide

regex uuid

/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i

UUID / GUID検証

ad · 728×90
正規表現パターン
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
フラグ:i
パターン解析
^[0-9a-f]{8}8 hex digits (time_low)
-Hyphen separator
[0-9a-f]{4}4 hex digits (time_mid)
-Hyphen separator
[0-9a-f]{4}4 hex digits (time_hi_version)
-Hyphen separator
[0-9a-f]{4}4 hex digits (clock_seq)
-Hyphen separator
[0-9a-f]{12}$12 hex digits (node)
マッチ例
550e8400-e29b-41d4-a716-446655440000
6ba7b810-9dad-11d1-80b4-00c04fd430c8
00000000-0000-0000-0000-000000000000
非マッチ例
550e8400e29b41d4a716446655440000
550e8400-e29b-41d4-a716
gggggggg-gggg-gggg-gggg-gggggggggggg

UUID v1〜v5の標準8-4-4-4-12形式を検証するパターンです。大文字小文字を区別せず(iフラグ)、正しいハイフン位置にある16進数文字のみを許可します。

言語別の使用方法

JavaScriptRegExpオブジェクトまたはリテラル構文を使用
const pattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;

// Test a string
console.log(pattern.test("550e8400-e29b-41d4-a716-446655440000")); // true
console.log(pattern.test("550e8400e29b41d4a716446655440000")); // false

// Match and extract
const result = "550e8400-e29b-41d4-a716-446655440000".match(pattern);
Pythonreモジュールを使用
import re

pattern = r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
flags = re.IGNORECASE

# Test a string
if re.fullmatch(pattern, "550e8400-e29b-41d4-a716-446655440000", flags):
    print("Valid")

# Find all matches in text
matches = re.findall(pattern, text, flags)
Javajava.util.regexパッケージを使用
import java.util.regex.*;

String pattern = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);

Matcher m = p.matcher("550e8400-e29b-41d4-a716-446655440000");
boolean isValid = m.matches(); // true

// Find occurrences
Matcher finder = p.matcher(inputText);
while (finder.find()) {
    System.out.println(finder.group());
}

主なユースケース

  • データベース主キー形式の検証
  • APIリクエストのUUIDパラメータ確認
  • 分散システムの一意識別子検証
  • JWTクレーム内のUUIDフィールド確認
  • ファイル名からのUUIDパターン抽出

関連パターン

email/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-/iphone/^\+?[\d\s\-\(\)]{7,15}$/url/^https?:\/\/[^\s\/$.?#].[^\s]*$/iip-address/^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\./
ad · 300×250
Regexテスターに戻る
// related tools
Cron Expression Generator
ビジュアルエディタでcron式を作成・解析。次回5回の実行時刻をプレビューし、よく使うプリセットから始められます。
jwt
JWT Decoder
JWTトークンをデコードして内容を確認。ヘッダー・ペイロード・署名の詳細を表示します。
Color Converter
HEX・RGB・HSL形式でカラーコードを変換。カラーピッカーで視覚的に選択できます。
ts
Timestamp Converter
Unixタイムスタンプを人間が読める日付に変換。ms/s・UTC/ローカル・相対時刻に対応。