$re = '/(?:\s*(?:\"([^\"]*)\"|([^;]+))\s*,?)+?/';
$str = '"IP";"IP_Phys_NET-LG-Facility";"Facility network at LG";"192.168.167.0/24";"IP_Phys_s7362";"IP_Zone_Network-Transit-Loopback";;
"Rule";"Mgmt_AdminVMs";"Added SV_RDP-UDP -- Mgmt access to any. Can be restricted to OS based rules for virtual destinations as soon as physical and virtual networks are segregated.";"SG_Mgmt_AdminVMs";"any";"SV_PING,SV_SSH,SV_PSRemoting,SVG_RDP";"DISTRIBUTED_FIREWALL";"Management_AdminVMs";"allow";"true";"false";"false";"inout";"false"';
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