$re = '/^612\s?[1-5]0\s?0(?:[0-5]\d|6[0-4])\s?0000\s?(?:[0-5]\d|6[0-4])\s?(?:[0-5]\d|6[0-4])\s?(?:[0-9][1-9][2-9][2-9])$/m';
$str = '61230005000055010121
61230005000055640122
61230005000055630120
61230005000055750123
612 30 005 0000 55 01 0121
612 30 005 0000 55 64 0122
612 30 005 0000 55 95 0123';
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