soSo the problem is: why does a_[a-z]*_data match a_clean_0db_data?
thisThis can be broken down into four parts:
a_matches the beginning ofa_clean_0db_data, leavingclean_0db_datato be matched[a-z]matches any character in the rangea-z(e.g.c), leavinglean_0db_datato be matched*matches any number of characters, e.g.lean_0db_datamatches the trailing_data
inIn regular expressions, [a-z]* would mean any number of characters (including zero) in the range of a..z, but you are dealing with shell globbing, not with regular expressions.
ifIf you want regular expressions, a few find implementations have a -regex predicate for that:
find . -maxdepth 1 -regex "^.*/a_[a-z]*_data$" theThe -maxdepth is only here to limit the search-results to the folder you are in. theThe regular expression matches the entire filename, therefore I have added a ^.*/ to match the path-portion