PHP preg_match_all()匹配

时间:2009-11-29 15:52:50

标签: php regex preg-match-all

我希望在以下内容中匹配FDSize: <value>

Gid:    48      48      48      48
FDSize: 64
Groups: 48 425
VmPeak:   289928 kB

它来自/ proc / status

<value>不是固定长度,也不是上面或下面的行。

4 个答案:

答案 0 :(得分:0)

尝试这样的事情:

preg_match_all('`FDSize: (\\d+)`s', $subject, $matches);
print_r($matches);

答案 1 :(得分:0)

不确定为什么/如何/何时必须这样做。我应该在发布答案之前提出问题,但事实并非如此。这里有一些方法可以让它脱离一条线......

$line = 'Gid: 48 48 48 48 FDSize: 64 Groups: 48 425 VmPeak: 289928 kB';

// in a loop...
echo current( explode(' ', end( explode( 'FDSize: ', $line ) ) ) );

// or

preg_match_all('~fdsize: (\d+)~i', $line, $matches);

答案 2 :(得分:0)

$mystr='Gid: 48 48 48 48 FDSize: 64 Groups: 48 425 VmPeak: 289928 kB';
$str = explode(":",$mystr);
foreach($str as $k=>$word){
    if(strpos($word,"FDSize") !== FALSE){
        print $str[$k+1];
    }
}

答案 3 :(得分:0)

尝试

preg_match_all("/FDSize:\s([0-9]+)/msiU", $data_in, $matches);