The Nottinghamshire batter has not represented his country since he was dumped on the eve of the 2019 World Cup following two failed recreational drug tests.
Hales had to watch from the sidelines as his team-mates won the tournament following a remarkable final against New Zealand at Lord’s.
But the 33-year-old is back in the fold after he was called up to replace the injured Jonny Bairstow in Matthew Mott’s squad for next month’s tournament in Australia.
“I did think the chance would not come again,” said Hales in an article published by the Daily Telegraph. “As a cricketer it’s your worst nightmare to be involved in a World Cup squad, missing out on the eve of it and then watching your team.
“Obviously, it’s brilliant to see the team lifting it but at the same time it eats at you inside that you should have been part of it and you weren’t.”
England Test captain Ben Stokes was close with Hales, but that bond deteriorated in the aftermath of a late-night incident outside a Bristol nightclub in 2017, which led to the former being charged with, and ultimately acquitted of, affray.
Former England one-day captain Eoin Morgan also cited a “complete breakdown in trust” for Hales’ prolonged absence.
However, Hales’ form – along with Morgan’s retirement – has seen him force his way back into the selectors’ thoughts.
“I think I have changed,” added Hales, who will feature in England’s tour of Pakistan which starts on Tuesday.
“I’ve definitely matured. I’m comfortably into my 30s now and turning into a veteran.
“I feel as if I’ve grown as a person and where I am at the moment on the field and off the field is probably the best of my career so far. To get this chance again is something I’m really proud of.
“It was disappointing not to be in the team for three years. At the end of the day, it was my fault, wasn’t it? I was the one who did what I did. I just have to hold my hands up. You have to look yourself in the mirror and try to improve as a person and learn from your mistakes.”