【问题标题】:Regex to find a file in folder正则表达式在文件夹中查找文件
【发布时间】:2010-08-24 08:08:53
【问题描述】:

如何在文件夹中查找所有匹配正则表达式模式的文件?

谢谢

【问题讨论】:

  • +1 这是一个简短而直接的问题,我认为值得提出这一点。

标签: c# .net regex


【解决方案1】:

GetFiles 方法允许您指定通配符模式,但不是真正的正则表达式。另一种可能性是简单地遍历文件并根据正则表达式验证它们的名称。

IEnumerable<string> files = Directory
    .EnumerateFiles(@"c:\somePath")
    .Where(name => Regex.IsMatch(name, "SOME REGEX"));

【讨论】:

  • Directory.EnumerateFiles 是 .NET 4.0 的一个很好的补充,因为它返回 IEnumerable&lt;string&gt; 而不是 string[],这意味着除非你开始枚举它不会阻塞。
  • 顺便说一句,Directory.EnumerateFiles 是 .NET 3.5 功能
  • @abatishchev,不,不是,查看文档:msdn.microsoft.com/en-us/library/dd383458.aspx
  • @abatishchev:更仔细地阅读该文档。特别是版本信息部分,上面写着“支持:4”。
【解决方案2】:

不支持文件系统的正则表达式匹配 您将不得不遍历目录中的每个文件并单独检查它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 2013-01-31
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多