繁体   English   中英

PHP preg_match_all()匹配

[英]PHP preg_match_all() Matching

我要在以下匹配FDSize: <value>

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

它来自/ proc / status

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

尝试这样的事情:

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

不太确定为什么/如何/何时必须这样做。 在发布答案之前,我应该问过问题,但我没有。 不过,有一些方法可以解决这个问题……

$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);
$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];
    }
}

尝试

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM