我有一个字符串:“Суспензиядляинъекций0,5мл,1,0мл,5мл” 这里的浮点数除以逗号,逗号也可以显示为经典的单词分隔符。我应该得到输出中的所有数字: 0,5; 1,0;五 我尝试过这个:
$form = $d->drugForm;
preg_match_all('!\d+(?:\.\d+)?!', $form, $matches);
但似乎是它跳过逗号,因此在输出中我得到0,1,5
答案 0 :(得分:2)
Regexp应该是:
$re = "/(\\d+,?\\d*)/";
$str = "Суспензия для инъекций 0,5 мл, 1,0 мл, 5 мл, 12,1234";
preg_match_all($re, $str, $matches);
答案 1 :(得分:0)
preg_match_all('!\d+!', $form, $matches);
print_r($matches);
答案 2 :(得分:0)
$re = "/(\d+(,)?(\d+)?)/";
$str = "Суспензия для инъекций 0,5 мл, 1,0 мл, 5 мл, 12,1234";
preg_match_all($re, $str, $matches);