Рубин, проверь, все ли строки допустимы в шестнадцатеричном формате - PullRequest
9 голосов
/ 31 января 2012

Я должен проверить, является ли 4-символьная строка верным шестнадцатеричным символом, я нашел другой вопрос, который точно демонстрирует, что я хочу делать, но это Java: Regex для проверки строки содержит только шестнадцатеричные символы

Как мне это сделать?

Я прочитал документы ruby ​​для Регулярных выражений, но я не понимаю, как вернуть true или false, основываясь на этом совпадении?

Ответы [ 3 ]

20 голосов
/ 31 января 2012

В регулярных выражениях ruby ​​\ h соответствует шестнадцатеричной цифре, а \ H соответствует не шестнадцатеричной.

Так !str[/\H/] это то, что вы ищете.

5 голосов
/ 31 января 2012
if str =~ /^[0-9A-F]+$/

делает свое дело. Если вы хотите, чтобы регистр не учитывался:

str =~ /^[0-9A-F]+$/i
1 голос
/ 26 июля 2018
pattern = /^[[:xdigit:]]+$/

А затем просто проверьте:

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

или с

if your_string.match?(/^[[:xdigit:]]+$/)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...