Colloquially, ~てしまう is contracted to ~ちゃう、and ~でしまう is contracted to ~じゃう. Both contractions conjugate like 五段 verbs. Example:
ごめん、宿題を忘れちゃった。Sorry, I accidentally forgot my homework. 家族の猫が昨日に死んじゃった。 Our cat died yesterday. 勉強した方がいい、私は日本語を話し方か忘れちゃうんで。It would be better if I studied, because I will forget how to speak Japanese.
Regardless of the correctness in my sentences, you can probably get the idea. :P
Something screwy with the comment system, tried to edit it and my comment disappeared, but reappeared on page refresh.
Anyways, I meant to mention that the ~ちゃいます・ちゃいました form is rarely heard, as if you're being formal enough to use ます・ました, you're probably going to un-contract them, but it is still valid.
How would one tell the differences between having finished something, and having finished something regretfully?
ごはんを食べちゃった。(I regret eating the rice)
本を読んじゃう (I read the book)
Would it be based on the context?
I am struck by the examples in which 終わる or 終える appear, combined with しまう, given that the meaning of all the verbs is "to finish, to finish doing". Isn't that too reiterative?
Are you referring to the second meaning? In that one, the emphasis is not on it being completed, but that it ended, and it ending is not desired. For example, you could say something like "旅行が終わってしまった!", which says "The trip has ended" and carries the connotation of "and that stinks".