我想看看一个字符串是否只有数字和字母组成。 def valid? "abc#d" =~ /\p{Alnum}/ end 但这返回0我希望它返回nil,因为它包含#,既不是字母也不是数字。我做错什么了? 最佳答案 问题是你实际上在检查:不管一个字符串是否包含任何数字或字母,但你想查一下:字符串是否不包含数字或字母以外的任何内容。你可以这样检查:def valid? "abc#d" !~ /\P{Alnum}/ end