【发布时间】:2010-08-24 08:08:53
【问题描述】:
如何在文件夹中查找所有匹配正则表达式模式的文件?
谢谢
【问题讨论】:
-
+1 这是一个简短而直接的问题,我认为值得提出这一点。
如何在文件夹中查找所有匹配正则表达式模式的文件?
谢谢
【问题讨论】:
GetFiles 方法允许您指定通配符模式,但不是真正的正则表达式。另一种可能性是简单地遍历文件并根据正则表达式验证它们的名称。
IEnumerable<string> files = Directory
.EnumerateFiles(@"c:\somePath")
.Where(name => Regex.IsMatch(name, "SOME REGEX"));
【讨论】:
Directory.EnumerateFiles 是 .NET 4.0 的一个很好的补充,因为它返回 IEnumerable<string> 而不是 string[],这意味着除非你开始枚举它不会阻塞。
Directory.EnumerateFiles 是 .NET 3.5 功能
不支持文件系统的正则表达式匹配 您将不得不遍历目录中的每个文件并单独检查它们
【讨论】: