$re = '/\b(?=\d)(?=(?:\d+A)?(?:\d+B)?(?:\d+C)?(?:,|$))(?:(\d+)A)?(?:(\d+)B)?(?:(\d+)C)?/m';
$str = '1A2B3C,80A160B255C,48A30B50C,1A3C,255C,1A,...
48A30B50C,1A,1A1B1C,11111A,1C1B1A,1A1A1A,1C,1B,1443C,adfank,12322134445688,48A';
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