Враховуючи рядок введення, напишіть програму, яка виводить значення "truthy" в STDOUT або еквівалент, якщо вхід є дійсним UUID, не використовуючи регулярні вирази.
Дійсний UUID є
32 шістнадцяткових цифр, відображених у п’яти групах, розділених дефісами, у формі 8-4-4-4-12 на загальну кількість 36 символів (32 буквено-цифрових символів та чотири дефіси).
Випробування
0FCE98AC-1326-4C79-8EBC-94908DA8B034
=> true
00000000-0000-0000-0000-000000000000
=> true
0fce98ac-1326-4c79-8ebc-94908da8b034
=> true
0FCE98ac-1326-4c79-8EBC-94908da8B034
=> true
{0FCE98AC-1326-4C79-8EBC-94908DA8B034}
=> false (the input is wrapped in brackets)
0GCE98AC-1326-4C79-8EBC-94908DA8B034
=> false (there is a G in the input)
0FCE98AC 1326-4C79-8EBC-94908DA8B034
=> false (there is a space in the input)
0FCE98AC-13264C79-8EBC-94908DA8B034
=> false (the input is missing a hyphen)
0FCE98AC-13264-C79-8EBC-94908DA8B034
=> false (the input has a hyphen in the wrong place)
0FCE98ACD-1326-4C79-8EBC-94908DA8B034
=> false (one of the groups is too long)
0FCE98AC-1326-4C79-8EBC-94908DA8B034-
=> false (has a trailing hyphen)
0FCE98AC-1326-4C79-8EBC-94908DA8B034-123
=> false (too many groups)
0FCE98AC13264C798EBC94908DA8B034
=> false (there is no grouping)
Правила
- Регулярні вирази заборонені
- Буквальне узгодження шаблону, подібне до регулярного вираження, не допускається. Наприклад, використовуючи
[0-9a-fA-F]
або інші шістнадцяткові ідентифікатори (ми це назвемоn
), а потім відповідатиnnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
абоn[8]-n[4]-n[4]-n[4]-n[12]
забороняється - Вхід може бути взято з
STDIN
аргументу функції або як аргумент - Вхід нечутливий до регістру
- Можна з упевненістю припустити, що вхідні дані не містять стрічкових каналів чи нових рядків.
- Вхід може містити будь-які символи для друку ASCII (включені пробіли)
- Параметр " truthy" повинен бути надрукований
STDOUT
або еквівалентний, якщо вхід є дійсним uuid - Значення фальси повинно бути надруковано
STDOUT
або еквівалентно, якщо вхід не є дійсним uuid - Якщо використовується функція, замість використання
STDOUT
, вихід може бути зворотним значенням функції - Не може бути надруковано значення truthy / falsey
STDERR
. - Застосовуються стандартні лазівки
- Це код-гольф , тому виграє найкоротша програма в байтах. Удачі!
Таблиця лідерів
Це фрагмент стека, який генерує як таблицю лідерів, так і огляд переможців за мовою.
Щоб відповідь з’явилася, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown
## Language Name, N bytes
Де N - розмір поданих вами даних у байтах
Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, пробивання старих балів чи включення прапорів у кількість байтів), просто переконайтесь, що фактичний бал є останнім номером у вашому заголовку
## Language Name, <s>K</s> X + 2 = N bytes
\h{8}-\h{4}-\h{4}-\h{4}-\h{12}
(де \h
є шістнадцяткова цифра) є дійсними.