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

UUID Regex Go Validator

Validieren Sie UUIDs sofort mit dem UUID Regex Go Validator von Qodex. Ob Sie Benutzer-IDs zuweisen oder Ressourcen referenzieren: Dieses Tool stellt sicher, dass UUIDs im korrekten Format vorliegen. Kombinieren Sie es mit unserem API-Key-Generator, Benutzernamen-Generator oder Adress-Generator, um vollständige Mock-Datensätze für Tests und Entwicklung zu erstellen.

UUID Regex Go Validator, Dokumentation

Was ist UUID Regex?

In Go ist die Validierung von Zeichenketten, die einem UUID (Universally Unique Identifier)-Format entsprechen müssen, in Backend-Systemen, APIs und Datenbankeinträgen weit verbreitet. UUIDs stellen sicher, dass jeder Eintrag eine global eindeutige ID hat, was besonders wichtig ist, wenn Systeme skalieren oder über mehrere Server hinweg betrieben werden.

UUIDs sind typischerweise folgendermaßen formatiert:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
  • x: Beliebige Hexadezimalziffer

  • M: UUID-Version (1-5)

  • N: Variante (8, 9, a oder b)

Ein regex zur Validierung von UUIDs stellt sicher, dass:

  • Die Eingabe die richtige Länge hat

  • Die Segmente korrekt formatiert sind

  • UUID-Version und -Variante gültig sind

UUID-Version-7-Regex-Muster

Wenn Sie speziell UUID Version 7 (eingeführt für zeitgeordnete Bezeichner) abgleichen müssen, können Sie dieses regex-Muster in Go (und den meisten Programmiersprachen, die Standard-regex-Syntax unterstützen) verwenden:

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

Dieses Muster prüft auf:

  • 8 Hex-Ziffern

  • 4 Hex-Ziffern

  • Eine Versionsziffer (1-5)

  • Eine Variantenziffer (8, 9, a, b)

  • 12 abschließende Hex-Ziffern

Der Unterschied besteht darin, dass das dritte UUID-Segment mit einer 7 beginnen muss, um Version 7 zu kennzeichnen. Die übrigen Segmente behalten die hexadezimalen Regeln und Variantenregeln bei. Verwenden Sie dieses Muster, wenn Ihre Anwendung die neuesten UUID-Spezifikationen für zeitbasierte oder sortierfreundliche IDs nutzt.

Was ist neu in UUID Version 7?

UUID Version 7 bringt einen neuen Ansatz mit Fokus auf zeitbasierter Sortierung für bessere Leistung in modernen verteilten Systemen. Im Gegensatz zu älteren UUID-Versionen verwendet Version 7 den Unix-Epoch-Zeitstempel in Millisekunden seit dem 1. Januar 1970 (UTC), ohne Schaltsekunden zu zählen, um eindeutige Werte zu erstellen. Das bedeutet:

  • Zeitgeordnete Werte: IDs sind von Natur aus nach Erstellungszeit sortierbar, was Datenbankoperationen und Ereignisprotokolle erheblich beschleunigen kann.

  • Bessere Entropie: Version 7 verbessert Zufälligkeit und Eindeutigkeit gegenüber den Versionen 1 und 6 und reduziert das Kollisionsrisiko.

  • Skalierbarkeit: Die zeitbasierte Struktur macht UUIDs effizienter für hochdurchsatzfähige, mehrserverige Anwendungen.

Aufbau einer UUID v7

Betrachten wir die Struktur einer UUID-Version-7-Zeichenkette. Wie andere UUIDs besteht sie aus insgesamt 36 Zeichen einschließlich Bindestrichen als Trennzeichen. So sieht das Format aus:

xxxxxxxx-xxxx-7xxx-Nxxx-xxxxxxxxxxxx
  • Jedes x ist eine Hexadezimalziffer (0-9, a-f oder A-F).

  • Die dritte Gruppe beginnt immer mit einer 7, was Version 7 kennzeichnet.

  • Die N-Position in der vierten Gruppe stellt die Variante dar, die bei Standard-UUIDs typischerweise 8, 9, a oder b ist.


Segment-Aufschlüsselung

Eine UUID-v7-Zeichenkette besteht aus fünf durch Bindestriche getrennten Gruppen:

  1. 8 Hex-Ziffern

  2. 4 Hex-Ziffern

  3. 4 Hex-Ziffern (beginnend mit "7")

  4. 4 Hex-Ziffern (erste Ziffer dieser Gruppe ist 8, 9, a oder b)

  5. 12 Hex-Ziffern

Eine gültige UUID v7 könnte beispielsweise so aussehen:

01813b48-4c5d-7b10-bc18-3ccd3f89331f

Weitere Beispiele:

  • 123e4567-e89b-12d3-a456-426655440000

  • c73bcdcc-2669-4bf6-81d3-e4ae73fb11fd

  • C73BCDCC-2669-4Bf6-81d3-E4AE73FB11FD

  • c73bcdcc-2669-4bf6-81d3-e4an73fb11fd

  • c73bcdcc26694bf681d3e4ae73fb11fd

  • definitely-not-a-uuid

Wie UUIDs in Go validiert werden

Hier ist ein funktionierendes Go-Beispiel:

package main

import ( "fmt" "regexp" )

func isValidUUID(uuid string) bool { uuidRegex := regexp.MustCompile(^[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}$) return uuidRegex.MatchString(uuid) }

func main() { test := "3f2504e0-4f89-11d3-9a0c-0305e82c3301" fmt.Println("Is UUID valid?", isValidUUID(test)) }

UUID v7 mit regex in verschiedenen Sprachen validieren

Wenn Sie UUID Version 7 gezielt validieren müssen, sollten Sie Ihr regex anpassen. UUID-v7-Werte beginnen mit einer "7" an der Versionsposition, daher muss Ihr Muster das widerspiegeln.

Aufschlüsselung für wichtige Programmiersprachen:

Go / JavaScript / Python / Java:

[^0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
  • 8 Hex-Ziffern

  • 4 Hex-Ziffern

  • "7" für Version 7

  • Gültige Variante

  • 12 Hex-Ziffern

UUIDs ohne Bindestriche abgleichen

Wenn Sie UUIDs ohne Bindestriche abgleichen müssen, was bei komprimierten IDs oder bestimmten API-Formaten erforderlich sein kann, können Sie das Muster anpassen. Das neue Muster sucht nach 32 aufeinanderfolgenden Hexadezimalziffern:

^[0-9a-fA-F]{32}$

UUID v7 in verschiedenen Programmiersprachen

  • PHP: Native Unterstützung für UUID v7 ist in neueren Versionen und Open-Source-Bibliotheken im Entstehen, ältere PHP-Installationen benötigen möglicherweise Pakete von Drittanbietern.

  • JavaScript (ECMAScript): Die offizielle UUID-API entwickelt sich weiter, aber nicht alle Umgebungen (insbesondere ältere Browser) unterstützen v7 von Haus aus. Sie benötigen wahrscheinlich ein modernes Polyfill oder eine Bibliothek wie uuid.

  • Python: Mit weitverbreiteten Bibliotheken wie uuid7 oder den neuesten Ausgaben der Standardbibliothek wird v7-Unterstützung verbreiteter. Prüfen Sie die Version Ihrer Bibliothek.

  • Golang: v7 ist in einigen beliebten Paketen enthalten, aber noch nicht universell. Überprüfen Sie stets Ihre Abhängigkeiten.

  • Java: Ab Java 8 ist Unterstützung über Pakete von Drittanbietern verfügbar; integrierte Unterstützung bleibt begrenzt. Für den Produktionseinsatz empfiehlt sich eine gepflegte Bibliothek.

  • .NET: Die neuesten Versionen fügen UUID v7 zum Standard-Toolkit hinzu, ältere Projekte benötigen möglicherweise ein externes NuGet-Paket.

  • Rust: Neueste UUID-Crate-Versionen führen v7-Unterstützung ein.

Wie wird das zeitgeordnete Wertfeld in UUID v7 generiert?

In UUID Version 7 wird der zeitgeordnete Wert auf Basis des Unix-Epoch-Zeitstempels generiert, konkret: die Anzahl der Millisekunden seit Mitternacht, 1. Januar 1970 (UTC), ohne Schaltsekunden. Dieser Ansatz stellt sicher, dass jede generierte UUID nicht nur eindeutig, sondern auch chronologisch sortierbar bleibt.

Anwendungsfälle

  • Zuweisung von IDs in verteilten Datenbanken

  • Identifizierung von API-Benutzern oder Sessions

  • Sicherstellung der Eindeutigkeit in Systemlogs oder token

  • Referenzierung von Dateien, Nachrichten oder Einträgen systemübergreifend

Profi-Tipps zur UUID-Validierung

  • UUIDs können in Groß- oder Kleinschreibung vorliegen, dieses regex unterstützt beides.

  • Version-4-UUIDs sind am häufigsten für die zufällige Generierung. Sie können das Muster anpassen, um nur v4 abzugleichen, indem Sie [1-5] durch 4 ersetzen.

  • Validieren Sie UUIDs immer vor dem Speichern in der Datenbank, um fehlerhafte Daten zu vermeiden.

  • Verwenden Sie UUIDs nicht für benutzerseitige Bezeichner, es sei denn, Sie formatieren oder maskieren sie entsprechend.

  • Verwenden Sie in Go regexp.MustCompile() statt Compile() für statische Muster, es ist schneller und sauberer.

Empfohlene Begleit-Tools

Erstellen Sie vollständige Mock-Datenflüsse durch Kombination dieses Validators mit:

Frequently Asked Questions

Was ist der Unterschied zwischen UUID-Versionen?

Jede Version (1-5) wird unterschiedlich generiert. Zum Beispiel verwendet v1 Zeit, v4 ist zufällig und v5 basiert auf Hashing.

Ist die UUID-Validierung Groß-/Kleinschreibung-sensitiv?

Nein. UUIDs sind hexadezimal, und regex-Muster sollten sowohl Groß- als auch Kleinbuchstaben unterstützen.

Können UUIDs ohne Bindestriche generiert werden?

Ja, einige Systeme verwenden UUIDs ohne Trennzeichen, aber dieses Muster prüft das Standardformat mit Bindestrichen.

Warum wird regex zur UUID-Validierung verwendet?

regex prüft schnell Struktur, Version und Variante von UUIDs, ohne manuelle Prüfungen zu schreiben.

Ist die UUID-Validierung notwendig?

Absolut, insbesondere wenn Daten von Benutzern, APIs oder anderen Systemen stammen. Sie gewährleistet Konsistenz und Zuverlässigkeit.

Testen Sie Ihre APIs noch heute!

Schreiben Sie auf Deutsch, Qodex wandelt Ihre Beschreibung in sichere, sofort ausführbare Tests um.