$re = '/((?<ID>\d+)\s(?<LunName>[a-zA-Z0-9_]+)\s+(?<ProvisionType>tpvv)\s(?<vvType>base)\s(?<CopyOf>---)\s+(?<BsId>\d+)\s+(?<ReadWrite>RW|RO)\s(?<State>normal|degraded)\s+(?<Adm>\d+)\s+(?<Snp>\d+)\s+(?<Usr>\d+)\s+?(?<VSize>\d+))/';
$str = ' -------Rsvd(MB)-------- --(MB)--
Id Name Prov Type CopyOf BsId Rd -Detailed_State- Adm Snp Usr VSize
4134 VMFS_L021_NR_INFRA01 tpvv base --- 4134 RW normal 28928 6321024 9545088 16777216
4139 VMFS_L033_R_OPS01 tpvv base --- 4139 RW normal 1792 259456 771072 1277952
135 VMFS_L041_REPL_7400 tpvv base --- 135 RW normal 14080 4664704 6828288 8241152
4168 VMFS_L050_R_DEV01 tpvv base --- 4168 RW normal 6912 633472 3564544 6291456
5798 VMFS_L056_R_DMS01 tpvv base --- 5798 RW normal 1536 341632 508928 819200
4135 VMFS_L060_R_CYPS01 tpvv base --- 4135 RW normal 1280 120448 295936 1572864
4136 VMFS_L061_NR_CYPS01 tpvv base --- 4136 RW normal 2048 143872 656384 819200
----------------------------------------------------------------------------------------------------
7 total 56576 12484608 22170240 35799040';
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