使用xdigit验证Perl中的十六进制值

问题描述 投票:-4回答:1

我正在尝试验证我的perl脚本中的变量,如果它是十六进制的。

我用Google搜索并发现了xdigit和其他可能的方法。我只想使用xdigit。

但我找不到关于如何正确使用xdigit的示例脚本/代码段!

编辑:

我没有任何代码。我需要一个变量,比如$ sz,它可能包含一个有效的十六进制值(00004a4c)或无效的十六进制值(some-alpha-numeric)。我需要验证这个$ sz是否保持正确的十六进制。

在一个网站上,我看到了这个:

检查字符串是否是某个数字的十六进制表示(即仅由十六进制数字组成)可以使用正则表达式轻松完成。假设你的字符串是$ _,

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

所以我尝试了以下内容:

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

我无法理解我如何正确地将这个用于我的目的。

regex perl hex
1个回答
1
投票

要检查字符串是否包含整个十六进制数字,您可以使用

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

要么

$sz !~ /[^[:xdigit:]]/        # Doesn't contain non-hex digits
© www.soinside.com 2019 - 2024. All rights reserved.