File Exchange

image thumbnail


version 1.0 (2.15 KB) by

Returns a directory listing based on a regular expression



View License

REGEXPDIR Gives a directory listing based on a regular expression REGEXPDIR(ROOTDIR, REGEXP) gives a directory listing of the directory ROOTDIR based on the pattern specified by the regular expression REGEXP.

REGEXPDIR(ROOTDIR, REGEXP, RECURSIVE) By default REGEXPDIR traverses all subdirectories recursively. This behaviour can be controlled by supplying the optional boolean RECURSIVE. Setting this to 'false' will limit the function to the directory specified in ROOTDIR.

 rootdir = 'C:\';
 expstr = '^.*\.exe$';
 dirlist = regexpdir(rootdir, expstr);

The above example will return any EXE files on the C-drive.

By default REGEXPDIR searches case insensitive. To make it case senstitive please specify it in the regular expression by adding '(?-i)' to it. Ommitting to specify the beginning '^' and ending '$' of the regular expression may result in unexpected behaviour.

Have a look at the source code for more information. For more info on this function and how to use it, bug reports, feature requests, etc. feel free to contact the author.

Comments and Ratings (4)

Kim Shultz


Works great out of the box. The optional recursive flag is particularly helpful. Thank you for your contribution.

Richard Moore

Richard Moore (view profile)

Great function! I often write scripts that sort through files and strings with wildcards are often not expressive enough to filter compactly. Your recursive option is handy, too. It would be nice if the output were a struct array like dir returns instead of a cell array, though.

Felix Biessmann

MATLAB Release
MATLAB 7.4 (R2007a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video