Ruby,检查字符串是否都是有效的hex字符?

我必须检查一个4字符的字符串是否都是有效的hex,我发现另一个问题,它确切地说明我想要做什么,但它是Java: 检查字符串仅包含hex字符的正则表达式

我怎么能做到这一点?

我阅读了正则表达式的ruby文档,但我不明白如何基于这个匹配返回true或false?

在ruby中,正则表达式\ h匹配hex数字,\ H匹配非hex数字。

所以!str[/\H/]正是你要找的。

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

诀窍。 如果你想要不区分大小写,那么:

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

然后检查:

 if pattern === your_string if /^[[:xdigit:]]+$/ === your_string 

或者

 if your_string.match?(/^[[:xdigit:]]+$/)