$re = '/([\d.]+-[\d.]+)\s+sec\s+([\d.]+\s+\w?Bytes)\s+([\d.]+\s+\w?bits/sec)[\s\w]+receiver/m';
$str = 'Connecting to host 9.10.21.01, port 5201
[ 4] local 9.17.201.011 port 44466 connected to 9.10.21.01 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-2.00 sec 1.71 GBytes 7.36 Gbits/sec 264 789 KBytes
[ 4] 2.00-4.00 sec 1.63 GBytes 6.99 Gbits/sec 133 865 KBytes
[ 4] 4.00-5.00 sec 732 MBytes 6.14 Gbits/sec 11 826 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 4.06 GBytes 6.97 Gbits/sec 408 sender
[ 4] 0.00-5.00 sec 4.05 GBytes 6.96 Gbits/sec receiver';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php