MATLAB: Filtering cell array table

filter cell array

I want to filter the cell array column according to 'DD. mmmm YYYY' so I get only the dates. How can I do that? thanks
'Thu, Feb-14-13'
'Thu, Feb-07-13'
'Thu, Jan-31-13'
'Thu, Jan-24-13'
'Thu, Jan-17-13'
'Thu, Jan-10-13'
'Thu, Jan-03-13'
'Thu, Dec-27-12'
'Thu, Dec-20-12'
'Time'
'Time'
'Reg.'
'Reg.'
'UXS'
'CXX'
'UCC'
'USDC'
'USCCD'

Best Answer

Why did you delete your earlier question? I was busy posting an answer to it and it disappeared out from under me :(
Good thing I saved the answer:
matchresult = regexp(YourCell, '^[a-zA-Z]{3},\s[a-zA-Z]{3}-\d{2}-\d{2}$');
nomatch = cellfun(@isempty, matchresult);
dateless = YourCell(nomatch);
datelike = YourCell{~nomatch};
Caution: this will not accept single digit day of the month as being a date. But it will accept any three letters as potential weekday name or month name. It will also not accept spaces before or after the date. (Some of these are easy to change but I am sticking with the format that you presented.)