我想在以下匹配FDSize: <value>
:PHP preg_match_all()匹配
Gid: 48 48 48 48
FDSize: 64
Groups: 48 425
VmPeak: 289928 kB
它来自的/ proc /状态
<value>
不是一个固定的长度,并且既不是线的上方或下方。
我想在以下匹配FDSize: <value>
:PHP preg_match_all()匹配
Gid: 48 48 48 48
FDSize: 64
Groups: 48 425
VmPeak: 289928 kB
它来自的/ proc /状态
<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];
}
}
你应该总是避免循环,如果你可以 – Galen 2009-11-29 16:14:29
这是胡说八道。你从哪里得到这个概念。 – ghostdog74 2009-11-30 00:13:02
尝试
preg_match_all("/FDSize:\s([0-9]+)/msiU", $data_in, $matches);
为什么用PHP?问题是什么?解析文件?正则表达式?总是只有一个你感兴趣的FDSize? – 2009-11-29 16:00:10