Я должен проверить, является ли 4-символьная строка верным шестнадцатеричным символом, я нашел другой вопрос, который точно демонстрирует, что я хочу делать, но это Java: Regex для проверки строки содержит только шестнадцатеричные символы
Как мне это сделать?
Я прочитал документы ruby для Регулярных выражений, но я не понимаю, как вернуть true или false, основываясь на этом совпадении?
В регулярных выражениях ruby \ h соответствует шестнадцатеричной цифре, а \ H соответствует не шестнадцатеричной.
Так !str[/\H/] это то, что вы ищете.
!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:]]+$/)