全局匹配 2 个目录中的所有图像?

Glob to match all images in 2 directories?

我有两个目录:

files/imgs/

files/imgs/subdir

我想匹配这些目录中的所有图像,即:

files/imgs/*.{jpg,png,gif}

files/imgs/subdir/*.{jpg,png,gif}

我该怎么做?我不想匹配imgs的所有子目录,只匹配指定的'subdir'.

如果您使用的是 bash,您可以使用花括号进行匹配: files/imgs/{subdir/,}*.{jpg,png,gif}

可以用许多不同的方式指定正则表达式,但考虑到您的规范,我会这样做:

/((subdir|imgs)\/[\w\d\s]+\.(ping|jpg|gif))/g

考虑正则表达式的一种方式是向后(从右到左)而不是从左到右考虑您的模式。这将帮助您更轻松地识别某些模式,但情况并非总是如此,所以要灵活! 另外,最好使用正则表达式验证工具,例如 http://regexr.com/