Biorąc pod uwagę ciąg wejściowy, napisz program, który wypisuje prawdziwą wartość do STDOUT lub równoważnego, jeśli dane wejściowe są poprawnym UUID, bez użycia wyrażeń regularnych .
Prawidłowy identyfikator UUID to
32 cyfry szesnastkowe, wyświetlane w pięciu grupach oddzielonych łącznikami, w postaci 8-4-4-4-12 dla łącznie 36 znaków (32 znaki alfanumeryczne i cztery łączniki).
Przypadki testowe
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)
Zasady
- Wyrażenia regularne są niedozwolone
- Dosłowne dopasowanie wzorca, które jest jak wyrażenie regularne, jest niedozwolone. Na przykład używanie
[0-9a-fA-F]
lub inne identyfikatory szesnastkowe (nazywamy ton
), a następnie dopasowaniennnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
lubn[8]-n[4]-n[4]-n[4]-n[12]
niedozwolone - Dane wejściowe mogą być pobierane z funkcji
STDIN
lub jako argument funkcji - Dane wejściowe nie uwzględniają wielkości liter
- Można bezpiecznie założyć, że dane wejściowe nie będą zawierały linii ani nowych linii.
- Dane wejściowe mogą zawierać dowolne znaki ASCII do wydruku (ze spacjami)
- Wartość truthy muszą być wydrukowane na
STDOUT
lub równoważne, jeśli wejście jest prawidłowy UUID - Wartość falsey muszą być wydrukowane na
STDOUT
lub równoważne, jeśli wejście jest nie poprawny UUID - Jeśli używasz funkcji, zamiast używać
STDOUT
, wyjściem może być zwracana wartość funkcji - Nie można wydrukować wartości true / falsey
STDERR
. - Standardowe luki zastosowanie
- To jest golf golfowy , więc wygrywa najkrótszy program w bajtach. Powodzenia!
Tabela liderów
To jest fragment kodu, który generuje zarówno tabelę wyników, jak i przegląd zwycięzców według języka.
Aby mieć pewność, że Twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown
## Language Name, N bytes
Gdzie N jest rozmiarem twojego przesłania w bajtach
Jeśli chcesz dołączyć wiele liczb do nagłówka (na przykład przekreślając stare wyniki lub włączając flagi w liczbie bajtów), po prostu upewnij się, że rzeczywisty wynik jest ostatnią liczbą w nagłówku
## Language Name, <s>K</s> X + 2 = N bytes
\h{8}-\h{4}-\h{4}-\h{4}-\h{12}
(gdzie \h
jest cyfrą szesnastkową).