PHP - preg_match - 如何匹配以零开头的数字

时间:2016-10-05 03:10:53

标签: php regex preg-match

我正在尝试使用preg_match来匹配以零开头的数字以指示无效输入。 01002300.4等数字无效;但是0.12之类的数字是有效的。输入将是计算器条目,例如09 * 108 + 0.19 + 4009。在这种情况下,由于09,表达式将无效。

到目前为止,我的表达式如下:preg_match("/[^1-9]+0[0-9]+/", $subject)

我尝试做的是匹配任何数字字符串前面的零,但前面没有另一个数字字符串。因此109有效,但1 + 09无效。但是,它不适用于1 + 4009等案例。

1 个答案:

答案 0 :(得分:1)

preg_match('/\b0[0-9]+(?:\.[0-9]+)?\b/', $subject)

\b用于字边界。