$re = '/(^(\d{1,2})\/(\d{4})(.*))|(^(\d{1,2})\/(\d{1,2})\/(\d{4})(.*))|(^(\d{4})\/(\d{1,2})\/(\d{1,2})(.*))/m';
$str = '1/2016
1/2016 1122:344z
01/2016 1122:344 am
01/02/2016 1122:344 pm
1/02/2016 1122:344
01/2/2016 1122:344
1/2/2016 1122:344
2016/01/02 1122:344
2016/1/02 1122:344
2016/01/2 1122:344
2016/1/2 1122:344
2016/01/27 1122:344
2017/01/30 1122:344
';
$subst = "$2/$3 $6/$8 $12/$11";
$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