Difference between Regression & Re-testing
Re-testing is to repeat the testing for let us say failed test cases if the bugs are all fixed in order to verify the functionality but regression testing is mostly to check that the newly added functionality is not causing any errors in existing functionalities.
When I think about regression testing, I think about any testing that involves the reuse of tests (manual or automated) or test ideas (regression charters for example -- a regression test does not necessarily need to be the exact same test) to manage the risks of change. This could include testing for bug fixes, testing to make sure a bug fix didn't break something else, or testing to make the introduction of new or changed features didn't break something else.
If you think about regression testing in that broad sense, then retesting is most likely a subset of that definition. It's a test that you're repeating for some reason or another; so I would call it a regression test. The only place I can't think of where I would use the two terms interchangeably is when talking about a specific defect. I probably wouldn't say "I'm regression testing defect X." I'd say "I'm retesting defect X." But it's semantics more then anything. That retesting is still regression testing. [Source]
Also See:
Regression Testing & its Goal