$re = '/,(?=(?:[^"]*"[^"]*")*[^"]*$)/m';
$str = '001,Legislative Branch,00,Legislative Branch,,"Receipts, Central fiscal operations",,803,Central fiscal operations,Mandatory,Nongrant,On-budget,-628,-390,-469,-413,-410,-722,-464,-522,-439,-360,-343,-427,-539,-307,-287,-132,-429,-385,-726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
';
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