2012-01-31 48 views

回答

19

在红宝石的正则表达式\ h的十六进制数字匹配和\ h的非十六进制数字匹配。

所以 !str[/\H/]是你在找什么。

5
if str =~ /^[0-9A-F]+$/ 

有窍门。如果你想不区分大小写,则:

str =~ /^[0-9A-F]+$/i 
+0

当我评估它为“f0a1”时,返回'nil' – 2012-01-31 07:20:10

+0

取决于您是否希望区分大小写。 – 2012-01-31 07:25:25

+0

但我很困惑,因为它然后返回'0'或'nil',是否有方法来查看它是否匹配? – 2012-01-31 07:28:49