Questions & Answers about Я сожалею, что не предупредил тебя заранее.
Because предупредил is perfective aspect: it treats the warning as a single completed action.
In this sentence, the speaker is sorry that they did not give the warning beforehand. Russian usually uses the perfective here because the focus is on the fact that the action never happened as a completed event.
- Я сожалею, что не предупредил тебя заранее.
= I regret that I didn’t warn you in advance.
If you used не предупреждал, it would sound more like I wasn’t warning you / I didn’t used to warn you / I was not in the process of warning you, which does not fit this situation well.
So:
- предупредить = to warn, as a completed act
- предупреждать = to warn, in an ongoing/repeated/general sense
Because the sentence has two different time layers:
- Я сожалею = I regret / I am sorry now
- не предупредил = I didn’t warn earlier
So the regretting is happening in the present, but the thing being regretted happened in the past.
This is very natural in Russian, just as in English:
- I am sorry that I didn’t warn you earlier.