Find with RegEx

I have some files in unix

ls -1

TMH.backend.tar.421E-03.Z
TMH.backend.tar.421E-04.Z
TMH.backend.tar.421E-05.Z
TMH.backend.tar.421E-06.Z
TMH.backend.tar.421E-07.Z
TMH.backend.tar.421E-08.Z
TMH.backend.tar.421E-08.Z.bak20081223164844
TMH.backend.tar.421E-09.Z
TMH.backend.tar.421E-09.Z.bak20090112171234
find . -name "*.bak[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"

./TMH.backend.tar.421E-09.Z.bak20090112171234
./TMH.backend.tar.421E-08.Z.bak20081223164844

find . -name "*.bak[0-9]\{14\}" <= not work in my AIX5.3
I don't want to repeat [0-9] 14 times...... please give me some idea

Many thanks
Valentino

Shell/find does not take regexp, it only takes meta characters. You could pipe it into egrep to get your desired output:

find . -type f -name "*.bak[0-9]*" -print| egrep \.bak[0-9]{14}
./TMH.backend.tar.421E-08.Z.bak20081223164844