检查字符串是否是以“0x ...”开头的十六进制 Perl
Check if string is hex that starts with "0x..." Perl
我如何检查一个字符串:
- 以“0x”开头
- 是一个有效的十六进制数
例如:
# Returns false
$string = "0213"
# Returns false
$string = "0xHHH"
# Returns true
$string = "0x123456789abcdefABCDEF"
下面操作returns一个布尔值。
$string =~ /^0x[0-9A-F]+$/i
你可以使用它而不是重新发明轮子:-)
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 中找到更多信息。上面的模式适用于十六进制整数,您可以使用模块的选项允许或限制更多变体。
我如何检查一个字符串:
- 以“0x”开头
- 是一个有效的十六进制数
例如:
# Returns false
$string = "0213"
# Returns false
$string = "0xHHH"
# Returns true
$string = "0x123456789abcdefABCDEF"
下面操作returns一个布尔值。
$string =~ /^0x[0-9A-F]+$/i
你可以使用它而不是重新发明轮子:-)
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 中找到更多信息。上面的模式适用于十六进制整数,您可以使用模块的选项允许或限制更多变体。