英语:用"Should Have Done"表达对过去的遗憾或建议

383 阅读3分钟

在学习英语的过程中,许多中国学习者常常对虚拟语气感到困惑,尤其是在谈论过去的事情时。今天我们要讨论的短语 “should have done” 就属于虚拟语气的一种。它主要用来表达对过去某个行为的遗憾、建议或批评。让我们详细讲解一下这个结构的使用方法,并通过例子来帮助大家理解。

DALL·E 2024-10-15 22.03.19 - A visual representation of the phrase 'should have done' in English grammar. The image shows a person standing at a crossroads, with one road labeled .webp

一、结构解析

"Should have done" 是由 should + have + 过去分词 构成,表示说话者认为 过去本应该做某事,但实际并没有做。也就是说,这种表达方式指的是已经发生或没有发生的事情,而现在说话者对此有一些 后悔或建议

二、使用场景

  1. 表达遗憾或后悔
    当我们对过去的某件事情感到后悔时,常会使用 “should have done” 来表达我们的情感。此时,通常意味着我们认为事情本可以更好地完成,但实际上并没有这样做。

    例子:

    • I should have studied harder for the exam.
      (我本应该为考试更努力学习的。—— 表达后悔没有认真复习。)

    • They should have told us about the change earlier.
      (他们本应该早点告诉我们变动的事情。—— 表达遗憾对方没有及时通知。)

  2. 表达批评或指责
    这种结构还可以用来温和地表达对他人过去行为的批评。

    例子:

    • You should have been more careful with your money.
      (你本应该对你的钱更小心一些。—— 轻微的批评或建议。)

    • He should have apologized for being late.
      (他本应该为迟到道歉。—— 认为他没有做出正确的行为。)

  3. 表达建议或劝告
    “Should have done” 也可以用来表示如果过去采取了不同的行动,可能会带来更好的结果。

    例子:

    • You should have taken the earlier train to avoid the traffic.
      (你本应该乘坐更早的火车来避免交通堵塞。—— 表达建议和实际情况的对比。)

    • We should have left earlier to catch the flight.
      (我们本应该早点出发去赶飞机。—— 表达对行动的建议。)

三、与 "could have" 的对比

虽然 “should have done” 和 “could have done” 都涉及到对过去事情的评论,但它们的侧重点不同:

  • Should have done 强调的是 本该做某事,但没有做,表达某种 义务正确的选择
  • Could have done 强调的是 本可以做某事,但没有做,更多地表达 能力可能性

例子:

  • I should have called you yesterday.
    (我昨天本应该给你打电话。—— 强调这是正确的事情。)

  • I could have called you yesterday, but I forgot.
    (我昨天本可以给你打电话,但我忘了。—— 强调有能力做但没有做。)

四、常见错误

  1. 与一般现在时混淆
    学生们有时会误将 “should have done” 与一般的 “should do” 搞混。要注意的是,"should have done" 特指过去的事情,而 "should do" 则是对现在或将来情况的建议。

    错误: You should have call her now.
    正确: You should call her now.
    (你现在应该给她打电话。—— 现在时建议。)

  2. 漏掉助动词 "have"
    有时初学者会忘记在结构中加上助动词 "have"。

    错误: I should done it yesterday.
    正确: I should have done it yesterday.
    (我昨天本应该做的。)

五、总结

“Should have done” 是一个强有力的表达工具,用来谈论过去的遗憾、批评或建议。通过这种表达,学习者可以更准确地反映出对过去行为的态度。记住,这个结构总是用于谈论过去的事情,而不是现在或未来。

例句复习:

  • You should have called me.
    (你本应该给我打电话的。)

  • We should have left earlier.
    (我们本应该早点离开的。)

  • He should have been more careful.
    (他本应该更小心一些。)

通过不断练习这些句型,我们会逐渐掌握如何在实际对话中流利运用 “should have done”,使我们的英语表达更加丰富、准确!