過去のことに対して、あれこれと思う今の気持ち(後悔や非難など)を表したいとき、「助動詞+現在完了形」という形を使います。
※現在完了形には、「has+過去分詞」という形もありますが、助動詞の後ろには、「have+過去分詞」しか書けません。なお、否定文にしたいときには、それぞれの助動詞の後ろにnotを書きます(短縮形を使ってもOK)。
must+現在完了形 意味「~した[だった]にちがいない」
(例文)
He must have been tired.(彼は疲れていたにちがいない。)
may+現在完了形 意味「~した[だった]かもしれない」
(例文)
I may have caught a cold.(私は風邪をひいたかもしれない。)
should+現在完了形 意味「~したはずだ」「~すべきだった」
(例文)
She should have come here.(彼女はここに来たはずだ。)
You should have studied English harder.(あなたはもっと英語を勉強すべきだった。)
※実際にはしなかった
cannot+現在完了形 意味「~だったはずがない」
(例文)
She cannot have gone there.(彼女がそこに行ったはずがない。)
need not+現在完了形 意味「~する必要はなかった」
(例文)
You need not have bought this book.(あなたはこの本を買う必要はなかった。)