NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
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 が安全ですぐに実行できるテストに変換します。