【发布时间】:2019-07-11 11:10:11
【问题描述】:
我正在尝试验证我的 perl 脚本中的变量是否为十六进制。
我用谷歌搜索了这个,发现了 xdigit 和其他可能的方法。我只想使用 xdigit。
但我找不到关于如何正确使用 xdigit 的示例脚本/sn-p!
编辑:
我没有任何代码。我需要一个变量,比如 $sz,它可能包含一个有效的十六进制值(00004a4c)或无效的十六进制值(一些字母数字)。我需要验证这个 $sz 是否持有正确的十六进制。
在一个网站上,我看到了这个:
检查字符串是否是某个数字的十六进制表示(即仅由十六进制数字组成)很容易使用正则表达式完成。假设您的字符串在 $_ 中,
/[[:xdigit:]]+$_/;
所以我尝试了以下方法:
$sz =~ /[[:xdigit:]]+$_/;
我不明白如何正确地使用它来达到我的目的。
【问题讨论】:
-
如果您提供一些示例输入并解释
$elems[0]应该是什么,会更容易提供帮助。 -
@mob。谢谢。我应该对我的查询很清楚。我是 Perl 的新手。现在更新了。
-
@SteffenUllrich 感谢您的评论。
-
如果
$_包含您要验证的字符串,为什么要将它放入 正则表达式本身?如果你从网页中提取它,你应该忘记你曾经看过那个页面。 -
@Shawn。我不明白你的问题。可能是因为我对 Perl 的基础知识不够,所以对 $_ 不了解。我最初尝试了 $sz=~/[[:xdigit:]+\$entry],$entry 是单词持有者。但我无法让它工作。我应该多研究一点并自己弄清楚这一点。