Why did Par'oh suddenly acknowledge Hashem's righteousness and his own wickedness?
Hadar Zekeinim: Because Hashem performed with him a great kindness by warning him in advance. 1
Moshav Zekenim #1: The G-d-fearing Egyptians took their animals into the house, and were spared. Had I and my nation feared G-d, we would also have been spared.
Moshav Zekenim #2, Da'as Zekenim, Hadar Zekenim, Riva: Hashem had mercy on the flock and told us to save them. I and my nation did not heed Him, and left them in the field. 2
Moshav Zekenim #3 (8:19): He said 'I sinned', because hail ruined crops, trees, animals and people