I don't know how many these go up to, but assuming it's only fifty or so, I'd just call dir for each word and concatenate all the results. Sure it's 50 lines of code but that's not many and it's easy and straightforward. You can just toss all the lines into a function or something - no big deal and simpler than trying to use regexp or sort (as you already know).
folder = pwd;
files = dir(fullfile(folder, 'one*.*'))
files = [files; dir(fullfile(folder, 'two*.*'))];
files = [files; dir(fullfile(folder, 'three*.*'))];
files = [files; dir(fullfile(folder, 'four*.*'))];
files = [files; dir(fullfile(folder, 'five*.*'))];
Best Answer