Should have は過去をふり返って、「こうしたほうがよかった」と言います。I や we が主語なら、たいてい後悔の気持ち(~すればよかった)です。ほかの人が主語なら、相手を責める言い方になることがよくあります(~すべきだったのに)。
I missed the bus. I should have left earlier.
バスに乗り遅れた。もっと早く出ればよかった。
早く出なかったのが失敗でした。
You should have told me you were coming.
来るなら言ってくれればよかったのに。
have の後の動詞は過去分詞(gone、done、told)です。原形や過去形は使いません。
shouldn't have
Shouldn't have は、してしまったことが失敗だったと言います。「~しなければよかった」にあたります。
I shouldn't have eaten so much cake.
ケーキをあんなに食べなければよかった。
たくさん食べて, 今は気持ちが悪いです。
He shouldn't have said that to her.
彼は彼女にあんなことを言うべきじゃなかった。
会話では should've
話すときは、should have は should've(シュドゥヴ)のように聞こえます。メッセージで should've と書くのはかまいませんが、should of とは書きません。
We should've booked a table.
席を予約しておけばよかった。
疑問文
should を主語の前に置きます。
What should I have done?
私はどうすればよかったの?
Should we have called first?
先に電話したほうがよかったかな?
should と should have
Should + 原形は、今やこれからについてのアドバイスです。Should have + 過去分詞は、もう変えられない過去についての話です。
You should call your mum.
お母さんに電話したほうがいいよ。
今へのアドバイスです。
You should have called your mum.
お母さんに電話すればよかったのに。
昨日電話しませんでした。
よくある間違い
- × I should left earlier. → I should have left earlier.
- × You should have came yesterday. → You should have come yesterday.
- × We should of asked. → We should have asked.