一楼说的不错了,我在解释的详细一点.
第一步,假设把this has not happened. 暂时变成肯定句来理解,即this has happened.
然后对整个句子进行小小变化,如下:
They feared that the mummy would fall to pieces when they cut it open. Unfortunately, this has happened. 他们曾担心在把木乃伊切开后,它会散成碎片,不幸的是,这个情况已经发生了.
第二步,分析为何用现在完成时,因为this has happened表示单一事件(的发生)对现在产生的影响,即木乃伊散成碎片了.
第三步,还原成否定形式,this has not happened. 这种情况没发生,所以没有对现在产生影响,因此用现在完成时的否定形式,has not happened.
PS: 过去完成时,表示过去的过去,或过去已经,即有一个一般过去时的动作作为参照系,过去完成时的动作在这个参照系之前已经完成.他们只有把木乃伊切开后,才会知道是否它会散成碎片,所以不能使用表示过去之过去的,过去完成时.