php - 如何从还包含整数的字符串中仅提取 float (小数)

我找不到合适的正则表达式来仅从字符串中提取 float 。 考虑以下字符串:

$string = "8x2.1 3x2";

我想提取 2.1,我尝试了以下操作,但这给了我整数和 float :

preg_match_all('/[0-9,]+(?:\.[0-9]*)?/', $string, $matches);

然后我尝试使用 is_float 检查 float ,但出于某种原因这也会返回整数。有任何想法吗? 谢谢

最佳答案

考虑这个简单的例子:

<?php
$input = "8x2.1 3x2";
preg_match('/\d+\.\d+/', $input, $tokens);
print_r($tokens);

匹配“一位或多位数字,后跟一个句点,然后是一位或多位数字”。

输出显然是:

Array
(
    [0] => 2.1
)

https://stackoverflow.com/questions/42354117/

相关文章:

reactjs - 在reactjs中使用具有相同路由路径的条件组件

list - 为什么这个删除 Haskell 中的重复函数有两个参数而不是一个?

c# - WinForms 列标题 FontStyle

oracle - Windows 的 ins-32025 oracle 11g 错误

c# - 无法将类型为 'System.DateTime' 的对象转换为类型 'System.Str

bash - 创建动态变量名bash并获取值

php - Woocommerce 优惠券添加自定义复选框

html - 将鼠标悬停在文本上时显示图像

three.js - 围绕轨道旋转对象

bash - 在 bash 命令输出中添加前缀