Почему uuids ограничены [89AB] в первом символе 4-й группы?

Регулярное выражение для проверки uuid v4 следующее:

      /^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i

Как видите, 4-я группа содержит[89AB][0-9A-F]{3}вместо[0-9A-F]{4}

Вы знаете, почему это так? Есть ли какая-то историческая причина для такого выбора?

Вчера я обнаружил, что библиотека, которую я использую, не генерирует правильные uuid из-за случайного выбора 1-го символа 4-й группы, и мне интересно, почему существует такое ограничение, поскольку это делает реализации немного более сложными.

0 ответов

Другие вопросы по тегам