我正在尝试编写一个正则表达式,用于接受1-99的正数并接受最多1位的小数。这是输入血糖水平读数的输入。(在PHP中)。
示例:
1.9, 10, 10.5 - Pass
0.9, 10.135, 103, 103.5, 103.13 - Fail
答案 0 :(得分:0)
以下php代码将帮助您进行检查。
<?php
$subject = "10.19"; // desired number
$pattern = '/^([1-9]|[1-9][0-9])(?:\.[1-9])?$/';
if(preg_match($pattern, $subject))
echo 'true';
?>
答案 1 :(得分:0)
你可以像我这样的正则表达式:
^[1-9]\d?(?:\.\d)?$
<强> Working demo
Php代码:
$re = "/^[1-9]\\d?(?:\\.\\d)?$/m";
$str = "Pass\n1.9\n10\n10.5\n\nFail\n0.9\n10.135\n103\n103.5\n103.1\n\n";
preg_match_all($re, $str, $matches);