我如何检查是否有字符串:
例如:
# Returns false
$string = "0213"
# Returns false
$string = "0xHHH"
# Returns true
$string = "0x123456789abcdefABCDEF"
答案 0 :(得分:2)
以下操作返回布尔值。
$string =~ /^0x[0-9A-F]+$/i
答案 1 :(得分:2)
你可以使用它而不是重新发明轮子: - )
use Regexp::Common qw(number);
print "$string is hex\n" if $string =~ /^0x$RE{num}{int}{-base => 16}{-sign => ''}$/i
您可以在the documentation of Regexp::Common::number中找到更多信息。上面的模式是十六进制整数,您可以使用模块的选项允许或限制更多变体。