展开全部
这个正则:匹配非负整数和非负整数加上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这些类型的数字字符串。
有不明白的,欢迎继续追问。
鉴于你给这么多分,详细来讲讲哈:
^ 匹配开头,$匹配结尾,意味着匹配的字符串,必须最多只能是数字和".5"组成,不能包含其他字符。
()是分组,| 是或者的意思,\d*这个表示0-9,第一个括号里面的意思是,字符串为0,或者1-9里面的任意数字,加上0-9组成的任意位数的数字,即一个正整数。
第二个括号,[.],这里面只有1个'.',等价于'\.',即小数点;后面的5就是数字5;最后加个问号,代表后面的".5"是可选的,可以不要。
总结:上面的正则能匹配:0,1,2,3,0.5,1.5,999,999.5这些类型的数字字符串。
有不明白的,欢迎继续追问。
展开全部
^以什么开头
()分组
|或的意思
\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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询