Привет всем.
У меня вопрос по регулярным выражениям.
Есть разные числа примерно такого формата, которые я считываю из файла, в зависемости от того што ввел ползователь в форму.
(запятые могут быть и апострофами -> \' )
9,202.17
46,760.0
567,875.0
1,415,426
82,710,000
153,885,115
0.71360
92.02172
126.110
Для части етого кода я использовал:
$pattern = "/(\\d+\\.*\\d+|\\d*\\\'\\d*\\\'*\\d*|\\d*\\\'\\d*)/";
preg_match_all($pattern, $file, $vivod)
print_r($vivod);
// возможный вывод
echo $var = $vivod[0][0];
У меня никак неполучается изменить ето регулярное выражение так, штобы без всяких if-цыклов можно было найти в тексте правилное число. Вывод должен быть всегда равен одному масиву к примеру:
echo $var = $vivod[0][0];
Всё должно происходить в одном регулярном выражение (возможно ли ето вообше)?
Етой частью кода $pattern = "/(\\d+\\.*\\d+|\\d*\\\'\\d*\\\'*\\d*)/";
я могу находить к примеру числа такого формата:
1.0872
10.87200
108.720
или за счет соединения с |\\d*\\\'\\d*\\\'*\\d*
Но штобы к примеру получить такое число 46’760.0 мне приходится использовать:
$pattern ="/\\d*\\\'\\d*/";
Если я добавляю ету часть кода как третие соединение то получаю толко первые два числа до запятой или апострофы или даже ничего, т.к первые два выражения перехватывают значение.
Если кто силён в рег. выражениях помагите пожалуйста.
Cпасибо.
Cu.