首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#Hashtag_or_not

#Hashtag_or_not
EN

Code Golf用户
提问于 2016-07-18 11:08:40
回答 11查看 3.3K关注 0票数 25

在这个代码高尔夫挑战,您将验证哈希标签!

#What_your_code_should_do

输入是一个字符串。如果它是一个有效的哈希标签,则输出一个真实值,否则输出一个假值。

我们将字符串定义为有效的哈希标签,如果..。

  • 它以散列(#)开头。
  • 它在hashtag后面没有一个数字(例如,#2016USElection不是一个有效的hashtag)。
  • 它没有任何“特殊字符”(即不是字母、下划线(_)或数字的任何字符)。

您可以假设输入只包含ASCII字符。(如果我们也使用Unicode,那将是不公平的。)

#Rules

适用基本的密码-高尔夫规则。

#示例

特鲁西:

代码语言:javascript
复制
#
#e
#_ABC 
#thisisanunexpectedlylongstringxoxoxoxo
#USElection2016

法尔西:

代码语言:javascript
复制
Hello, World!
#12thBday
#not-valid
#alsoNotValid!
#!not_a_hash
EN

回答 11

Code Golf用户

发布于 2016-07-18 12:24:36

C,80字节

函数f()将字符串作为参数,并将int *b修改为1或0,以表示真实/错误。

代码语言:javascript
复制
f(char*p,int*b){for(*b=(*p==35)&&!isdigit(p[1]);*p;++p)*b&=isalnum(*p)||*p==95;}

如果字符串始终至少有一个字符(即从不为空字符串),则可以将一个字节削掉79个字节:

代码语言:javascript
复制
f(char*p,int*b){for(*b=(*p==35)&&!isdigit(p[1]);*++p;)*b&=isalnum(*p)||*p==95;}
票数 5
EN

Code Golf用户

发布于 2016-07-19 10:30:04

Python 3,41字节

代码语言:javascript
复制
import re
re.compile('#(?!\d)\w*).match
票数 5
EN

Code Golf用户

发布于 2016-07-18 11:49:20

布氏对数,55字节

代码语言:javascript
复制
"#"|h"#",?b@lL'(eE,@A:"1234567890":"_"c'eE),@A:"_"ce~hL

这不需要正则表达式。

解释

代码语言:javascript
复制
Main predicate, Input (?) is a string

  "#"                           ? = "#"
|                             Or
  h"#",                         First character of ? is "#"
  ?b@lL                         L is the rest of the chars of ? lowercased
  '(                            It is not possible for any char of L that...
    eE,                           Call this char E
    @A:"1234567890":"_"c          Concatenate the lowercase alphabet with the digits and "_"
    'eE                           E is not a member of that concatenated string
   ),                           
   @A:"_"c                      Concatenate the lowercase alphabet with "_"
   e~hL                         One char of that concatenated string is the first char of L
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/85619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档