Avec une entrée de chaîne, écrivez un programme qui affiche une valeur de vérité dans STDOUT ou son équivalent si l’entrée est un UUID valide, sans utiliser de regex.
Un UUID valide est
32 chiffres hexadécimaux, affichés en cinq groupes séparés par des traits d'union, sous la forme 8-4-4-4-12 pour un total de 36 caractères (32 caractères alphanumériques et quatre traits d'union).
Cas de test
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)
Règles
- Les expressions régulières ne sont pas autorisées
- La correspondance de motif littéral qui ressemble à une expression régulière n'est pas autorisée. Par exemple, en utilisant
[0-9a-fA-F]
ou d'autres identifiants hexadécimaux (nous appellerons celan
), puis en correspondancennnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
oun[8]-n[4]-n[4]-n[4]-n[12]
non. - L'entrée peut être prise à partir de
STDIN
ou comme argument d'une fonction - L'entrée est insensible à la casse
- Il est prudent de supposer que l'entrée ne contiendra pas de sauts de ligne ou de saut de ligne.
- L'entrée peut contenir des caractères ASCII imprimables (espaces compris).
- Une valeur de vérité doit être imprimée
STDOUT
ou équivalente si la saisie est un uuid valide - Une valeur de falsey doit être imprimée
STDOUT
ou équivalente si la saisie n’est pas un uuid valide - Si vous utilisez une fonction, au lieu d’utiliser
STDOUT
, la sortie peut être la valeur de retour de la fonction - La valeur vérité / falsey ne peut pas être imprimée
STDERR
. - Les failles standard s'appliquent
- C'est le code-golf , donc le programme le plus court en octets gagne. Bonne chance!
Classement
Il s'agit d'un extrait de pile qui génère un classement et un aperçu des gagnants par langue.
Pour que votre réponse apparaisse, commencez votre réponse par un titre utilisant le modèle Markdown suivant.
## Language Name, N bytes
Où N est la taille, en octets, de votre soumission
Si vous souhaitez inclure plusieurs numéros dans votre en-tête (par exemple, en supprimant d'anciens scores ou en incluant des indicateurs dans le nombre d'octets), assurez-vous que le score réel est le dernier numéro de votre en-tête.
## Language Name, <s>K</s> X + 2 = N bytes
\h{8}-\h{4}-\h{4}-\h{4}-\h{12}
(où \h
est un chiffre hexadécimal) sont valides.