$re = '/S304JB0...(?<Total1>[\d]+).(?<Total2>[\d]+).(?<Total3>[\d]+).(?<Total4>[\d]+).(?<Total5>[\d]+).(?<Total6>[\d]+).(?<Total7>[\d]+)(?=.*?R03(?<Row3>[\d]+))(?=.*?R04(?<Row4>[\d]+))(?=.*?R15(?<Row15>[\d]+))/i';
$str = '12*000000000**S304JB01811*8*0*8*4*4*34R0332R152~~~';
preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 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