如何使用正则表达式从字符串中提取所有整数值?

jbc*_*dge 3 php regex

我正在努力学习正则表达式.我有字符串:

$x = "5ft2inches";
Run Code Online (Sandbox Code Playgroud)

如何使用正则表达式将[5,2]读入数组?

Jer*_*ten 5

如果您假设字符串的格式为"{number} ft {number} inches",那么您可以使用preg_match():

preg_match('/(\d+)ft(\d+)inches/', $string, $matches);
Run Code Online (Sandbox Code Playgroud)

(\d+)将匹配一个或多个数字的字符串.括号将告诉preg_match()将匹配的数字放入$matches变量(函数的第三个参数).如果匹配则该函数将返回1,如果不匹配则返回0.

这是$matches成功比赛后的样子:

Array
(
    [0] => 5ft2inches
    [1] => 5
    [2] => 2
)
Run Code Online (Sandbox Code Playgroud)

整个匹配的字符串是第一个元素,然后是带括号的匹配项.所以要制作你想要的数组:

$array = array($matches[1], $matches[2]);
Run Code Online (Sandbox Code Playgroud)