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:]]+$/)