【发布时间】:2016-01-20 21:46:44
【问题描述】:
我正在尝试验证 ruby 中的字符串。 任何包含空格、分数或任何特殊字符的字符串都应该无法通过验证。 有效字符串应仅包含字符 a-zA-Z0-9 我的代码看起来像。
def validate(string)
regex ="/[^a-zA-Z0-9]$/
if(string =~ regex)
return "true"
else
return "false"
end
我收到错误: TypeError:类型不匹配:给定字符串。
谁能告诉我这样做的正确方法是什么?
【问题讨论】:
-
contain only chars a-zA-Z0-9大概是这个/^[a-zA-Z0-9]+$/ -
@sln:
^和$并不是你认为他们在 Ruby 正则表达式中所做的那样,你几乎总是想要\A和\z代替。 -
您可以将 \w 用于任何 [a-zA-Z0-9],作为快捷方式,顺便说一句。
-
@frosty:
\w也匹配_(下划线/下划线)。
标签: ruby regex ruby-on-rails-3