我正在尝试验证我的perl脚本中的变量,如果它是十六进制的。
我用Google搜索并发现了xdigit和其他可能的方法。我只想使用xdigit。
但我找不到关于如何正确使用xdigit的示例脚本/代码段!
编辑:
我没有任何代码。我需要一个变量,比如$ sz,它可能包含一个有效的十六进制值(00004a4c)或无效的十六进制值(some-alpha-numeric)。我需要验证这个$ sz是否保持正确的十六进制。
在一个网站上,我看到了这个:
检查字符串是否是某个数字的十六进制表示(即仅由十六进制数字组成)可以使用正则表达式轻松完成。假设你的字符串是$ _,
/[[:xdigit:]]+$_/;
所以我尝试了以下内容:
$sz =~ /[[:xdigit:]]+$_/;
我无法理解我如何正确地将这个用于我的目的。
要检查字符串是否包含整个十六进制数字,您可以使用
$sz =~ /^[[:xdigit:]]+\z/ # Consist entirely of hex digits
要么
$sz !~ /[^[:xdigit:]]/ # Doesn't contain non-hex digits