Ребят, помогите, плиз с составлением регулярки для Float Она НЕ должна пропускать 00.0 -0.0 .435 -.6 и должна пропускать 0.0 1.0000000 0.64 -42.42
Как ни странно, но на основе этой регулярки можно сделать рабочий скрипт. Только как-то очень бредово получается. =)) PHP: <?php $pattern='#(((-[1-9])([0-9]+)?)|(([1-9]+)?[0-9]))\.([0-9]+)#'; $arr[]="0"; $arr[]="45.45"; $arr[]="0.765"; $arr[]="0.09876"; $arr[]="0.6.7"; $arr[]="-0.67"; $arr[]=".89"; $arr[]="00.89"; $arr[]="-.98"; $arr[]="1.0000000"; $arr[]="-45.45"; foreach($arr as $test){ if (preg_match($pattern, $test, $m)){ if ((string)$test===$m[0]){ echo $test."<br>"; } } }
Не очень понятно какие критерии отбора одних цифр и других. Зачем вообще это надо если они и там и там являются float
Думаю, речь идёт о том, чтобы не было отрицательного нуля /^-?[1-9]\d*\.\d+|0\.\d+|-0\.\d*[1-9]\d*$/ Не тестил но надеюсь сработает