Ответ:
1. He told me that he had been fishing in the river for the past three years every weekend, but he never caught anything.
2. The tourists had been waiting for the bus for a very long time, so when it arrived, it was already too late.
3. She looked at her watch. She had been working on her report for five hours.
4. My wife said that the children had been sleeping since 8 o'clock.