在ruby中使用正则表达式确保字符串不包含数字?
嗨 如何使用ruby中的正则表达式确保字符串不包含数字在ruby中使用正则表达式确保字符串不包含数字?,ruby,regex,Ruby,Regex,嗨 如何使用ruby中的正则表达式确保字符串不包含数字 谢谢\D是字符类,意思是“不是数字”,所以您可以这样做 ^\D*$ ^强制它从行首开始,$强制它继续到行尾。\D是表示“非数字”的字符类,因此您可以这样做 ^\D*$ ^强制它从行首开始,$强制它继续到行尾。您可以扫描任何数字,然后使用~在找不到时匹配 '1234' !~ /\d/ # => false '12.34' !~ /\d/ # => false 'abc1def'
谢谢\D是字符类,意思是“不是数字”,所以您可以这样做
^\D*$
^强制它从行首开始,$强制它继续到行尾。\D是表示“非数字”的字符类,因此您可以这样做
^\D*$
^强制它从行首开始,$强制它继续到行尾。您可以扫描任何数字,然后使用
~代码>在找不到时匹配
'1234' !~ /\d/ # => false
'12.34' !~ /\d/ # => false
'abc1def' !~ /\d/ # => false
'a1b2c3d' !~ /\d/ # => false
'12abc' !~ /\d/ # => false
'abc12' !~ /\d/ # => false
'oi9' !~ /\d/ # => false
'abc' !~ /\d/ # => true
'ABC' !~ /\d/ # => true
'aBcD' !~ /\d/ # => true
'' !~ /\d/ # => true
'日本語' !~ /\d/ # => true
'~!@#%^&*()}' !~ /\d/ # => true
您可以扫描任何数字,然后使用~代码>在找不到时匹配
'1234' !~ /\d/ # => false
'12.34' !~ /\d/ # => false
'abc1def' !~ /\d/ # => false
'a1b2c3d' !~ /\d/ # => false
'12abc' !~ /\d/ # => false
'abc12' !~ /\d/ # => false
'oi9' !~ /\d/ # => false
'abc' !~ /\d/ # => true
'ABC' !~ /\d/ # => true
'aBcD' !~ /\d/ # => true
'' !~ /\d/ # => true
'日本語' !~ /\d/ # => true
'~!@#%^&*()}' !~ /\d/ # => true
我必须查找一个引用以查看\D是否存在,我知道它确实存在!老实说,我认为[^0-9]更具可读性。一般来说,如果有匹配器,我会同意,因为如果有其他语言的英文字符映射到其他Unicode字符,那么匹配器应该理解并能够处理。我不知道该语言是否使用其他字符作为数字,但如果使用,则\d和\d也将正确,而[0-9]和[^0-9]将不正确。我必须查找引用以查看\d是否存在,我知道它确实存在!老实说,我认为[^0-9]更具可读性。一般来说,如果有匹配器,我会同意,因为如果有其他语言的英文字符映射到其他Unicode字符,那么匹配器应该理解并能够处理。我不知道语言是否使用其他字符作为数字,但如果使用,则\d和\d也将正确,其中[0-9]和[^0-9]将不正确。