需要什么正则表达式(对于PHP preg_match)?

需要什么正则表达式(对于PHP preg_match)?,php,regex,Php,Regex,MySQL表中的一组值包含不同格式的维度,例如: 2140×910 Ø500 Ø600×1200 2000×1000或Ø1500 这些数字都是以毫米为单位的尺寸,我想要一个正则表达式,它可以提取所有的数字(例如,到一个数组中),这样我就可以将它们转换为英寸,并以相同的格式将它们输出 使用我已经测试了模式(\d+),它可以很好地工作,突出显示字符串中的任何一组数字 然而,当我尝试在我的PHP代码(如下)中使用它时,匹配数组看起来与我预期的不同 $pattern = '/(\d+)/'; $st

MySQL表中的一组值包含不同格式的维度,例如:

  • 2140×910
  • Ø500
  • Ø600×1200
  • 2000×1000或Ø1500
这些数字都是以毫米为单位的尺寸,我想要一个正则表达式,它可以提取所有的数字(例如,到一个数组中),这样我就可以将它们转换为英寸,并以相同的格式将它们输出

使用我已经测试了模式
(\d+)
,它可以很好地工作,突出显示字符串中的任何一组数字

然而,当我尝试在我的PHP代码(如下)中使用它时,匹配数组看起来与我预期的不同

$pattern = '/(\d+)/';
$string = '2140 × 910';
preg_match ($pattern, $string, $matches);

echo "<pre>";
print_r ($matches);
echo "</pre>";
提前感谢您的帮助。

只返回第一场比赛。如果要获取所有匹配项,请使用:

输出:


尝试使用

非常感谢!我觉得自己是一个完整的工具。
Array
(
    [0] => 2140
    [1] => 2140
)
$pattern = '/(\d+)/';
$string = '2140 &times; 910';
preg_match_all($pattern, $string, $matches);

var_dump($matches);
array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "2140"
    [1]=>
    string(3) "910"
  }
  [1]=>
  array(2) {
    [0]=>
    string(4) "2140"
    [1]=>
    string(3) "910"
  }
}