$re = '/^([0-9]{4}-?[Xx0-9]{4})([^\n0-9].*)?$/m';
$str = '1234-5678 ÿþT(zlsd?k+j\'\'fh{l}x[a]j).,~!@#$%^&*()_+{}|:<>?`"\\;\'\'/-
1234-5678
1234-567X
12345678
1234567X
1234567899
1234567899x';
$subst = "\1";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
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