/^(0|[1-9]\d*)([.]5)?$/ 在PHP正则中是什么意思 ?

会好详细点高分... 会好详细点 高分 展开
 我来答
小鱼AIG
推荐于2018-03-19 · TA获得超过634个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:28.7万
展开全部
这个正则:匹配非负整数和非负整数加上0.5(即:xxx.5);

鉴于你给这么多分,详细来讲讲哈:
^ 匹配开头,$匹配结尾,意味着匹配的字符串,必须最多只能是数字和".5"组成,不能包含其他字符。
()是分组,| 是或者的意思,\d*这个表示0-9,第一个括号里面的意思是,字符串为0,或者1-9里面的任意数字,加上0-9组成的任意位数的数字,即一个正整数。

第二个括号,[.],这里面只有1个'.',等价于'\.',即小数点;后面的5就是数字5;最后加个问号,代表后面的".5"是可选的,可以不要。

总结:上面的正则能匹配:0,1,2,3,0.5,1.5,999,999.5这些类型的数字字符串。

有不明白的,欢迎继续追问。
瞿樱MA
2015-01-21 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:65
采纳率:0%
帮助的人:66.4万
展开全部
^以什么开头
()分组
|或的意思
\d 匹配任何数字字符串 [0-9]
0|[1-9]\d* 0 或1-9之间的数+任意数字零次或多次   开头
()分组
[]原子表
[.]5匹配.5
? 零次或1次
总结: 必须以0 或1-9+任意字符0次或多次开头,可以是.5结尾
<?php
$preg ='/^(0|[1-9]\d*)([.]5)?$/';
//$string = '925';
//$string = '92.5';
//$string = '0.5';
//$string = '0';
preg_match_all($preg,$string,$arr);

print_r($arr);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式