使用复杂模式在目录中搜索文件
时间:2020-03-06 14:59:04 来源:igfitidea点击:
我正在寻找一种库,用于使用复杂模式(如Ant中使用的模式)从目录获取文件或者目录:
- dir1 / dir2 / ** / SVN / *->匹配SVN目录中位于目录树dir1 / dir2下任何位置的所有文件
** / test / **
->匹配路径中包含test元素的所有文件,包括将test作为文件名。- ...
我需要自己编写代码吗?从NAnt提取我想要的东西?或者这个图书馆存在,我的Google技术糟透了。
Directory.GetFiles(String path,String searchPattern)既不处理目录模式,也不处理NDepend.Helpers.FileDirectoryPath(这是一个很好的路径处理库)
解决方案
自己编写代码不会那么难。
只需将正确制定的正则表达式与System.IO方法一起使用即可构建完整路径
我们是否愿意将" *"定义为"除斜线以外的任何内容",将" **"定义为"任何内容"?如果是这样,则正则表达式转换似乎很简单。
* -> [^\/]* ** -> .*
然后,就需要递归枚举所有文件,并检查它们的路径是否与正则表达式匹配。