在对过去事实进行的虚拟语气句子中,常用would have done/could have done/should have done/might have done,一般情况下,would/should/might不刻意进行区别使用,但是他们之间的确还是有区别的,would摆脱不了其本意”意愿“的意思,所以意思是”本来要.",同样道理,could 表示"过去或者当时有做.的能力“,should也带着它的基本意思,意思是”本来应该.",might在情态动词里常表示最柔弱和最不肯定的语气,因此,它表示轻微可能性时才使用.请看下面一组句子,来加深对他们的区别的理解.
I could have met you at the airport.(我本来能到机场接你的)
I should have met you at the airport(我本该到机场接你的)
I would have met you at the airport(我本来要去机场接你的)
I might have met you at the airport(我有可能去机场接你的,实际生活中不用这个表达方式,因为这句话传达了”或许会去接你,也或许没时间去接你"这样微弱可能性,表达自己对客人的冷漠的嫌疑)