G2 Best Software 2026、急成長部門一覧を見る
GUID Regex Python バリデーター

GUID Regex Python バリデーター

GUID Regex Python バリデーターは、開発者やテスターが GUID(Globally Unique Identifier)が正しいフォーマットに従っているかを確認するためのツールです。API トークン、リソース ID、またはデータベースキーの検証に最適で、品質チェックに不可欠です。UUID Regex Python バリデーターMac アドレス Regex Python バリデーターと組み合わせて、Python プロジェクトで堅牢な検証フローを構築できます。

GUID Regex Python バリデーター - ドキュメント

GUID とは何ですか?

GUID はユーザー、セッション、レコードなどのリソースにラベルを付けるためによく使用される 128 ビットの一意識別子です。次のフォーマットの文字列として表されます:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

各 x は16進数の桁(0〜9、a〜f、または A〜F)です。GUID と UUID は機能的に似ていますが、GUID は Microsoft ベースのシステムでより一般的です。

Python における GUID の Regex パターン

標準的な GUID を正確に検証する regex パターン:

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$

このパターンは以下を保証します:

  • 先頭に8 桁

  • ハイフンで区切られた3 グループの 4 桁

  • 末尾に12 桁の16進数

より厳密な GUID 検証のための Regex 改善

元のパターン \w{8}-\w{4}-\w{4}-\w{4}-\w{12} は全体的な構造を確認しますが、少し緩すぎます。アンダースコアを含む任意の「単語」文字にマッチしてしまい、16進数以外の文字が有効として通ってしまう可能性があります。

検証を強化して各セグメントが16進数文字(0〜9、a〜f、A〜F)にのみマッチするようにするには:

^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

さらにバージョンやバリアントビットの検証が必要な場合は:

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$

GUID を検証する Python の例

import re

def is_valid_guid(guid):
    pattern = re.compile(
        r'^[0-9a-fA-F]{8}-'
        r'[0-9a-fA-F]{4}-'
        r'[1-5][0-9a-fA-F]{3}-'
        r'[89abAB][0-9a-fA-F]{3}-'
        r'[0-9a-fA-F]{12}$'
    )
    return bool(pattern.fullmatch(guid))

# テスト GUID
test_guids = [
    "123e4567-e89b-12d3-a456-426614174000",
    "00112233-4455-6677-8899-aabbccddeeff",
    "invalid-guid-format"
]

for g in test_guids:
    print(f"{g} -> {is_valid_guid(g)}")

GUID Regex パターンに \w[a-f0-9] のどちらを使うべきか?

Python で GUID を検証する場合、選択する regex が重要です。\w は「単語文字」(文字、数字、アンダースコア)の便利なショートハンドですが、GUID 検証には少し広すぎます。

主な違い

  • \w:大文字・小文字の英字(A〜Z、a〜z)、数字(0〜9)、アンダースコア(_)にマッチ。

  • [a-f0-9]:小文字の16進数のみに制限し、標準 GUID が使用する文字に正確にマッチ。

厳密さが重要な理由

\w{8}-\w{4}-\w{4}-\w{4}-\w{12} を使用すると、アンダースコアやアルファベットのすべての文字(16進数セット以外)を受け入れてしまいます。

対して:

^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$

これは小文字の16進数(a〜f、0〜9)のみを強制し、GUID フォーマットに合致しない誤ったまたは悪意ある入力をブロックします。

ユースケース

  • データベースレコード ID:分散システムの主キーとして GUID を使用。

  • 認証トークン:API ヘッダーやクエリ文字列で渡された GUID を検証。

  • データ同期:ローカルとリモートのストレージ間で GUID をマッチングして整合性を確保。

  • デバッグツールIP アドレス Regex Python バリデーターと組み合わせてネットワークベースの識別子を監視。

プロのヒント

  • クライアント側のソースからの GUID 入力は必ずサニタイズしてください。

  • 検証前に先頭・末尾の空白を除去してください。

  • タイムスタンプ付き識別子を扱う場合は日付 Regex Python バリデーターと組み合わせてください。

  • 大文字小文字が問題にならないシステムでは、一貫性を保つために小文字の GUID を使用してください。

Frequently Asked Questions

GUID と UUID の違いは何ですか?

機能的には似ています。UUID が公式標準で、GUID は Microsoft による同じものに対する用語です。

この regex は無効または重複した GUID を検出できますか?

フォーマットのみをチェックします。一意性や実際の有効性は確認できません。

どのバージョンの GUID に対応していますか?

UUID 標準に従って、バージョン1〜5をサポートしています。

GUID の大文字小文字は重要ですか?

Regex は16進数の小文字・大文字両方をサポートしています。

データベース検証に適していますか?

はい、挿入前に入力データが GUID フォーマットに準拠していることを確認するのに最適です。

APIを今すぐテストしましょう!

平易な言葉で記述するだけで、Qodex が安全ですぐに実行できるテストに変換します。