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 = str.gsub(re, subst)
# Print the result of the substitution
puts 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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html