The difference between re-testing and regression testing is
Re-testing ensures the original fault has been removed; regression testing looks for unexpected side-effects
Re-testing looks for unexpected side-effects; regression testing ensures the original fault has been removed
Re-testing is done after faults are fixed; regression testing is done earlier
Re-testing is done by developers; regression testing is done by independent testers