perl语言问题? 30

if($line[0]=~/^-?\d/&&$line[0]>0),这个判断什么情况下成立,要是负数又要大于0这不是自相矛盾吗... if ($line[0]=~ /^-?\d/ && $line[0] > 0) ,这个判断什么情况下成立,要是负数又要大于0这不是自相矛盾吗 展开
 我来答
紫薇参星
科技发烧友

2020-10-02 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3512万
展开全部

这个判断在数组line的第一个元素为正数(包括正整数和正小数)时成立.

因为前半部分正则表达式匹配的是开头为有负号的负数(包括负整数和负小数)或者开头没有正号(也就是加号)的正数(包括正整数和正小数)或者0,

正则表达式其中的问号表示前面的负号可以有也可以没有,后半部分要求数组line的第一个元素大于0,也就是正数(包括正整数和正小数),

两者相与,就是在数组line的第一个元素为开头没有正号(也就是加号)的正数(包括正整数和正小数)时,判断成立.

我给你一个例子,你看看吧.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式