Проверьте шестнадцатеричное значение в Perl, используя xdigit - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь проверить переменную в моем perl-скрипте, если она шестнадцатеричная или нет.

Я прогуглил это и узнал о xdigit и других возможных методах.Я хочу использовать только xdigit.

Но я не смог найти пример сценария / фрагмента о том, как правильно использовать xdigit!

РЕДАКТИРОВАТЬ:

У меня нет кода для этого.Мне нужно взять переменную, скажем, $ sz, которая может содержать действительное шестнадцатеричное значение (00004a4c) или недопустимое шестнадцатеричное значение (некоторое-буквенно-цифровое).Мне нужно проверить, что $ sz содержит правильное шестнадцатеричное значение или нет.

На веб-сайте я увидел следующее:

Проверка строки, является ли она шестнадцатеричным представлением некоторого числа (т.е. состоит только из шестнадцатеричных цифр) это легко сделать с помощью регулярного выражения.Предполагая, что ваша строка в $ _,

/[[:xdigit:]]+$_/;

Итак, я попробовал следующее:

$sz =~ /[[:xdigit:]]+$_/;

Я не мог понять, как я могу использовать это правильно для своих целей.

1 Ответ

0 голосов
/ 18 февраля 2019

Чтобы проверить, состоит ли строка из шестнадцатеричных цифр, вы можете использовать

$sz =~ /^[[:xdigit:]]+\z/     # Consist entirely of hex digits

или

$sz !~ /[^[:xdigit:]]/        # Doesn't contain non-hex digits
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...