我试图从字符串中提取任何数字(带或不带小数)并将其转储到数组中。以下是我的代码
$matches = array();
$str = "I have string of 21.11 out of 30";
preg_match_all("/\d+/",$str,$matches);
echo var_dump($matches);
当前输出有以下3个元素:
21
11
30
但我希望下面只输出2个元素:
21.11
30
如何更改正则表达式?
答案 0 :(得分:1)
你应该使用这个正则表达式(在字符类中添加点):
$matches = array();
$str = "I have string of 21.11 out of 30";
preg_match_all("/[\d\.]+/",$str,$matches);
var_dump($matches);
Test it(Ctrl + Enter)