可以啊,在不同的情况就是。would/ could + have done表示……过去或以前将会/能做什么,而should/ might + have done则是……过去或以前应该/可能做什么。还有一种must have done 表示很肯定的语气,一定做了什么什么。
貌似不可以咯
可以的,但是意思不一样,should/ might + have done表示本应做而没有做,表示现在有后悔的意思,比如 I should have finished the work。表示我本应做完那份工作,但是事实上没有做完,表示现在的后悔
一定不可以,详情见英语5.3
有这种用法,should+ have done表示本应该做却没做
可以用would/ could + have done表示与将来事实相反 没有should/ might + have done这个说法