像Python一样?我正在尝试检查字符串中的每个字符是否都是字母数字?
发布于 2012-05-17 22:30:17
这里有一个特殊的字符类:
char.match(/^[[:alpha:]]$/)它应该与单个字母字符匹配。它似乎也适用于UTF-8。
要测试整个字符串,请执行以下操作:
string.match(/^[[:alpha:]]+$/)请记住,这不包括空格或标点符号。
发布于 2012-05-17 22:32:36
如果您只想匹配字母,而不想匹配数字,您可以使用自己的:)用alpha替换alnum。
class String
def alpha?
!!match(/^[[:alnum:]]+$/)
end
end
'asdf234'.alpha? # => true
'asdf@#$'.alpha? # => false发布于 2012-05-17 23:11:12
python函数仅适用于ASCII字符;[:alnum]正则表达式将执行类似"tëst".alpha?=> true的操作。match/\w/匹配下划线,因此剩下
def isalpha(str)
return false if str.empty?
!str.match(/[^A-Za-z]/)
end重现Python的行为。
https://stackoverflow.com/questions/10637606
复制相似问题