我正在使用Ruby 2.4.如何检查字符串是否包含任何数字?我正在尝试这个
2.4.0 :002 > line = "abcdef" => "abcdef" 2.4.0 :007 > line =~ /^^[0-9]+$/ => nil
我认为"^"是"非"字符,但我不确定它是如何工作的,因为我知道它也是短语起始字符.无论如何,感谢帮助, -
^
在方括号列表的开头处否定一组字符:
[^abc] # not a, b, or c
所以你只需要在括号内移动它:
line =~ /^[^0-9]+$/
请注意,您可能需要\A
而\z
不是^
和$
,因为它们匹配整个字符串的开头和结尾而不是行,这\D
是简短的[^0-9]
.
line =~ /\A\D+\z/
您也可以对数字进行否定检查.
line !~ /\d/