NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
GUID Regex Go Validator

GUID Regex Go Validator

Verwenden Sie den GUID Regex Go Validator, um sicherzustellen, dass Ihre eindeutigen Bezeichner der korrekten Struktur folgen. Testen und debuggen Sie Ihr regex im Go Regex Tester oder validieren Sie zugehörige Daten wie E-Mails, URLs und Passwörter für einen vollständigen Datenqualitäts-Workflow.

GUID Regex Go Validator, Dokumentation

Einführung: Was ist GUID Regex?

In Go (Golang) wird ein GUID (Globally Unique Identifier), auch bekannt als UUID (Universally Unique Identifier), verwendet, um Ressourcen in verteilten Systemen eindeutig zu identifizieren. Es stellt sicher, dass keine zwei Werte jemals identisch sind, was es für Tracking, Versionierung und Referenzierung unverzichtbar macht.

Ein GUID sieht so aus:

3f2504e0-4f89-11d3-9a0c-0305e82c3301

Er enthält 32 hexadezimale Zeichen, angeordnet in 5 durch Bindestriche getrennten Gruppen nach dem Muster:

8-4-4-4-12

Die zuverlässigste Methode zur Validierung von GUID-Formaten in Go sind reguläre Ausdrücke (regex). Regex ermöglicht es Ihnen, diese Struktur zu prüfen und zu verifizieren, bevor Daten gespeichert oder verarbeitet werden.

GUID Regex Muster (mit Erläuterung)

Hier ist das regex-Muster zur Validierung eines GUID:

^[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}$

Erläuterung:

  • [0-9a-fA-F]{8}: Erste Gruppe mit 8 hexadezimalen Ziffern

  • -: Bindestrich-Trennzeichen

  • [0-9a-fA-F]{4}: Zweite Gruppe mit 4 Ziffern

  • [1-5][0-9a-fA-F]{3}: Versionsziffer (1-5) + 3 weitere hex-Ziffern

  • [89abAB][0-9a-fA-F]{3}: Variant-Ziffer (beginnend mit 8, 9, a oder b) + 3 hex-Ziffern

  • [0-9a-fA-F]{12}: Letzte 12 hex-Ziffern

Sind geschweifte Klammern in GUIDs erlaubt?

Obwohl das Standard-GUID-Format Bindestriche zur Trennung der fünf Gruppen verwendet, können Sie auf GUIDs in geschweiften Klammern stoßen, insbesondere in Microsoft- und Windows-Umgebungen. Zum Beispiel:

  • Mit Klammern: {3f2504e0-4f89-11d3-9a0c-0305e82c3301}

  • Ohne Klammern: 3f2504e0-4f89-11d3-9a0c-0305e82c3301

Das obige regex-Muster ist robust genug, um beide Szenarien zu behandeln. Die optionalen { und } am Anfang und Ende des Musters ermöglichen die Validierung mit oder ohne Klammern, was die Kompatibilität mit Tools, APIs und Bibliotheken aus verschiedenen Systemen sicherstellt.

Hilfsraumkomplexität

Die Validierung eines GUID mit einem regulären Ausdruck in Go ist in Bezug auf den Speicherverbrauch sehr effizient. Die Hilfsraumkomplexität beträgt O(1): Die Prüfung, ob ein String dem GUID-Muster entspricht, erfordert nur eine feste, konstante Menge an zusätzlichem Speicher, unabhängig von der String-Länge. Alle Operationen erfolgen in-place, es werden keine zusätzlichen Datenstrukturen während der Validierung erstellt.

Performance: Zeitkomplexität der GUID-Validierung

Bei der Validierung eines GUID mit einem regulären Ausdruck scannt der Prozess den String einmal von Anfang bis Ende. Das bedeutet, die Zeitkomplexität ist linear bezüglich der Länge des Eingabe-Strings, also O(N), wobei N die Anzahl der Zeichen im GUID-Kandidaten ist. Regex-basierte GUID-Prüfungen sind effizient, Sie werden kaum eine Verzögerung bemerken, selbst bei großen Datensätzen.

GUIDs in Go mit Regex validieren

Sie können GUIDs mit dem regexp-Paket in Go validieren. Hier ist der vollständige Go-Code:

package main

import ( "fmt" "regexp" )

func isValidGUID(guid string) bool { pattern := ^[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}$ regex := regexp.MustCompile(pattern) return regex.MatchString(guid) }

func main() { samples := []string{ "3f2504e0-4f89-11d3-9a0c-0305e82c3301", // valid "3F2504E0-4F89-11D3-9A0C-0305E82C3301", // valid uppercase "123e4567e89b12d3a456426614174000", // invalid (no hyphens) "3f25-04e0-4f89-11d3-9a0c-0305e82c3301", // invalid (group mismatch) }

for _, guid := range samples {
    fmt.Printf("GUID: %s | Valid: %t\n", guid, isValidGUID(guid))
}

}

Reale Anwendungsfälle

  • Datenbank-Primärschlüssel: Nützlich zur Identifizierung von Datensätzen in verteilten Datenbanken.

  • API-Ressourcen-Bezeichner: RESTful-Dienste verwenden GUIDs für Ressourcen wie /user/3f2504e0-4f89-11d3-9a0c-0305e82c3301.

  • Session-Tokens: Web-Apps verwenden häufig UUIDs zur Verfolgung sicherer Sessions.

  • Geräte- oder Datei-IDs: Viele Cloud-Speicherdienste verwenden GUIDs zur eindeutigen Referenzierung von Dateien.

Profi-Tipps

  • Verwenden Sie immer konsistent Groß- oder Kleinbuchstaben bei der Anzeige von GUIDs.

  • Regex validiert nur das Format, nicht ob der GUID wirklich eindeutig ist.

  • Exponieren Sie niemals GUIDs, die sich auf sensible Ressourcen beziehen, in ungesicherten URLs.

  • Verwenden Sie regex zur Validierung, aber Bibliotheken wie github.com/google/uuid zur Generierung.

  • Für Batch-Tests verwenden Sie den Go Regex Tester, um verschiedene Formate schnell auszuprobieren.

GUIDs in JavaScript validieren

Wenn Sie sicherstellen müssen, dass Ihre Strings dem Standard-GUID-Format in JavaScript entsprechen, können Sie einen regulären Ausdruck für eine schnelle Prüfung verwenden. GUIDs sind 128-Bit-Werte, oft als 32 hexadezimale Ziffern dargestellt, in fünf durch Bindestriche getrennten Gruppen, zum Beispiel: 3f2504e0-4f89-11d3-9a0c-0305e82c3301.

Hier ist eine einfache JavaScript-Funktion zur Validierung von GUIDs:

function isValidGUID(input) {
// Regex matches an optional opening brace, 8 hex digits, 3 groups of 4 hex digits, then 12 hex digits, ending with an optional closing brace.
Const guidPattern = /^[{]?[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}[}]?$/;
return guidPattern.test(input);
}

Verwendungsbeispiele

  • isValidGUID('3f2504e0-4f89-11d3-9a0c-0305e82c3301') gibt true zurück.

  • isValidGUID('{3f2504e0-4f89-11d3-9a0c-0305e82c3301}') gibt ebenfalls true zurück (mit geschweiften Klammern).

  • isValidGUID('invalid-guid-value') gibt false zurück.

GUIDs in Python validieren

Pythons re-Modul macht die regex-Validierung einfach und zuverlässig.

import re

def is_valid_guid(guid): pattern = r'^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$' return bool(re.match(pattern, guid))

GUID-Validierung in Java

Javas eingebaute Pattern- und Matcher-Klassen machen dies unkompliziert.

import java.util.regex.Pattern;

public class GuidValidator { private static final Pattern GUID_PATTERN = Pattern.compile( "^[{]?[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}[}]?$" );

public static boolean isValidGuid(String guid) {
    return guid != null && GUID_PATTERN.matcher(guid).matches();
}

}

C# Beispiel: GUIDs mit Regex validieren

using System.Text.RegularExpressions;

public static bool IsValidGuid(string input) { var pattern = @"^[{]?[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}[}]?$"; return Regex.IsMatch(input, pattern); }

Kombinieren Sie es mit diesen Tools

Frequently Asked Questions

Was ist der Unterschied zwischen GUID und UUID?

GUID und UUID sind funktional gleich. GUID wird in Microsoft-Ökosystemen verwendet, UUID ist der offizielle RFC-Begriff.

Kann dieses regex gefälschte oder doppelte GUIDs erkennen?

Nein, es prüft nur das Format. Verwenden Sie eine UUID-Generierungsbibliothek, um wirklich eindeutige Werte zu erstellen.

Validiert dieses regex alle Versionen von UUIDs?

Ja, es unterstützt UUID-Versionen 1 bis 5 über das [1-5]-Versionssegment.

Sind Großbuchstaben in GUIDs gültig?

Ja, das regex unterscheidet nicht zwischen Groß- und Kleinschreibung und trifft sowohl große als auch kleine hexadezimale Zeichen.

Kann ich Bindestriche aus dem regex entfernen?

Sie können das Muster anpassen, um Bindestriche auszuschließen, wenn Sie mit kompakten UUIDs arbeiten, aber das weicht vom Standardformat ab.

Testen Sie Ihre APIs noch heute!

Schreiben Sie auf Deutsch, Qodex verwandelt es in sichere, sofort ausführbare Tests.