PHP preg_match_all () Eşleştirme

3 Cevap php

Ben aşağıdaki FDSize: <value> maç istiyorum:

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

It / proc / durum geliyor

<value> sabit bir uzunlukta değildir, ve yukarıda veya aşağıda çizgilerdir de.

3 Cevap

Böyle bir şey deneyin:

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

Gerçekten emin değilim neden / nasıl / bunu yapmak zorunda. Ben bir cevap göndermeden önce soru sordum gerekir ama vermedi. Burada olsa çizginin dışına bu almak için bazı yolları vardır ...

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

denemek

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