Should have – for unfulfilled past obligation
expressing unfulfilled obligation in the past
should + (not) have + past participle of verb
|We use should have to say that someone didn't do something, but it would have been the correct thing to do it.||You should have told them the truth.
You shouldn't have gone there – it was a mistake.
I don't think you should have done it.
|We often use should have to express regret about the past, or to say that we made a mistake.||I’m sorry for shouting at you – I shouldn’t have raised my voice.|
|Practise this grammar (intermediate level exercise): Should vs. should have|