0

私は次のように一致させたいFDSize: <value>

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

/proc/status から来ます

<value>は固定長ではなく、上下の行も固定長ではありません。

4

4 に答える 4

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];
    }
}
于 2009-11-29T16:12:39.817 に答える
0

次のようなものを試してください。

preg_match_all('`FDSize: (\\d+)`s', $subject, $matches);
print_r($matches);
于 2009-11-29T15:59:00.953 に答える
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);
于 2009-11-29T16:05:45.697 に答える
0

試す

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

于 2009-11-29T16:22:04.097 に答える