These words are near-synonyms, but they do have slightly different applications. To repent is to feel sorrow and to engage in self-reproach, which is precisely the primary meaning of regret. But to repent is to go a step further: to feel so regretful as to try to make amends, to do something to atone for the acts or omissions that caused regret. That is, one may regret many things but repent of only some of them: "I regret not having written to you." "Because this rich man repented of his shady dealings, he decided to give away much of his money."
Dictionary of problem words and expressions. Harry Shaw. 1975.