「V しておけばよかったのに」というのは大きく3つの言い方があり,生半可に覚えるとごっちゃにして間違ったりするので,まず1つをしっかり覚えてマスターしましょう。
(1) I should have Vpp
「should have Vppは3択以上」という記事で説明しましたが,should have Vpp は「V すべきだった(実際はしなかった)」という意味があります。
I should have seen the movie.「その映画を見るべきだった」とすれば,「その映画を見ておけばよかったと後悔する」と実質同義になりますね。
You should have seen the movie.「君はその映画を見るべきだった」とすれば相手に後悔を押し付ける発言になりますね。
I shouldn’t have bought the game.「そのゲーム買うべきじゃなかった」と否定形にすれば,したことの後悔になります。
(2) I regret that I didn’t V
「後悔する」は regret なので,I regret that... とすれば「…ことを後悔しています」と言えるのですが,「…」には〈事実〉が来るので,
I regret that I didn’t see the movie.「その映画を見なかったことを後悔しています」が正しく,後半に (1) を組み合わせた
(?)I regret that I should have seen the movie.「その映画を見るべきだったことを後悔しています(?)」は変です。
I regrettably feel that I should have seen the movie.「その映画を見るべきだったことを,後悔ながらに感じています」なら良いでしょう。
なおこの regret+〈事実〉は,regret+Ving(動名詞)でも言えます。
I regret that I bought the game. = I regret buying the game. = I regret having bought the game.:買ったことを後悔
I regret that I didn’t buy the game. = I regret not buying the game. = I regret not having bought the game.:買わなかったことを後悔
※buying と having bought は指す時が違うこともあるのですが,regret+Ving(動名詞)の時はどちらでもOKです。
※regret Ving(動名詞)を regret to-V(to 不定詞)にしてしまうと意味が変わってしまうので気をつけて下さい。
(3) I wish I had Vpp
S wish (that) S had Vpp は「S は V しておけばよかったのにと S は思う」という意味です。(that) は省略するのが普通で,S had Vpp のところは〈仮定法過去完了〉と言われます。
I wish I had seen the movie. で「その映画を見たら良かったのにと思う」
He wishes he had seen the movie.なら「その映画を見たら良かったのにと彼は思っている」です。
I wish he had seen the movie.なら「彼はその映画を見たら良かったのにと私は思う」になります。
以上まとめますと,「その映画を見たら良かったのにと思う」は,
(1) I should have seen the movie.
(2) I regret that I didn’t see the movie. = I regret not seeing the movie.
(3) I wish I had seen the movie.
私は (2) の I regret that... が簡単で良いと思いますが,「...」には事実を書くので「映画を見たら良かったのに」の場合は事実の「映画を見なかった」と書く必要があることには注意して下さい。