$re = '/(?P<startDay>\d{2})\s(?P<finishDay>\d{2})\sdel?\s(?P<month>\d{2})\sdel?\s(?P<year>\d+)/m';
$str = '05 del 07 del 2000 del 09 hhggh" #example 0 - Not modify!
04 del 05 del 07 del 2000" #example 1 - Not modify!
04 05 del 06 de 200" #example 2 - Yes modify!
04 05 del 06 de 20076 55" #example 3 - Yes modify!';
$subst = "\g<startDay> \g<finishDay>-\g<month>-\g<year>";
$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