RegEx不能很好地识别十进制数

时间:2016-04-22 13:17:32

标签: php regex decimal-point

我正在尝试使用正则表达式获取带小数点的数字,我有这个字符串,其中有问题的数字是

RewriteRule ^additem/[0-9]+(\.[0-9]{1,2})?$additem.php?price=$1

但是,如果我输入2.02,则存储的变量为.02。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要在模式和替换之间添加空格,并在整个浮点值模式周围使用捕获组:

RewriteRule ^additem/([0-9]+(?:\.[0-9]{1,2})?)$ additem.php?price=$1
                     ^       ^^            ^^^    

请参阅regex demo