perl语言中: ^-?\d+$ 是什么意思,为什么是匹配十进制数字? 我是菜鸟.谢谢解答
检验数字表示合法性 if($number=~/^-?\d+$|^-?0[xX][\da-fa-F]+$/){ &n...
检验数字表示合法性
if ($number =~ /^-?\d+$|^-?0[xX][\da-fa-F]+$/) {
print ("$number is a legal integer.\n");
} else {
print ("$number is not a legal integer.\n");
}
其中 ^-?\d+$ 匹配十进制数字,^-?0[xX][\da-fa-F]+$ 匹配十六进制数字。
关键是-?到底表示什么意思,是什么用法 展开
if ($number =~ /^-?\d+$|^-?0[xX][\da-fa-F]+$/) {
print ("$number is a legal integer.\n");
} else {
print ("$number is not a legal integer.\n");
}
其中 ^-?\d+$ 匹配十进制数字,^-?0[xX][\da-fa-F]+$ 匹配十六进制数字。
关键是-?到底表示什么意思,是什么用法 展开
3个回答
展开全部
? : 表示匹配一次或者零次,换句话说就是可有可无,有的话也只能有一个。
-? : 表示数字前面的符号, 也就是正负数
-? : 表示数字前面的符号, 也就是正负数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
learning perl(5th)的111页中有介绍,表示其前面的模式出现或者不出现,你的代码中指'-'(引号里面的字符)可以出现,也可以不出现。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询