我想在以下匹配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