私は次のように一致させたいFDSize: <value>
:
Gid: 48 48 48 48
FDSize: 64
Groups: 48 425
VmPeak: 289928 kB
/proc/status から来ます
<value>
は固定長ではなく、上下の行も固定長ではありません。
私は次のように一致させたいFDSize: <value>
:
Gid: 48 48 48 48
FDSize: 64
Groups: 48 425
VmPeak: 289928 kB
/proc/status から来ます
<value>
は固定長ではなく、上下の行も固定長ではありません。
$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: (\\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);
試す
preg_match_all("/FDSize:\s([0-9]+)/msiU", $data_in, $matches);