
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 redef 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 の違いは何ですか?
この regex は無効または重複した GUID を検出できますか?
どのバージョンの GUID に対応していますか?
GUID の大文字小文字は重要ですか?
データベース検証に適していますか?
Related Articles






