使用模式查找文件夹名称

Yon*_*Nir 3 c# regex directory

我有一个路径,其中有更多的文件夹.某些文件夹可能具有如下所示的模式:"1.0.0"或"1.0.0.0"(可以是任何数字,但它们之间采用这种格式的点).

我正在尝试使用一个正常的表达式,它可以正常使用Regex.Match,但它不能正常工作Directory.GetDirectories(path, regexPattern) 我想要使​​用的表达式本身是:@"(\d+)\.(\d+)\.(\d+)(\.\d+)*"

我如何使用GetDirectories方法的表达式?或者以其他方式找到我正在搜索的文件夹?

Men*_*gis 6

目录不使用正则表达式来匹配目录的名称,它使用searchPatern,这是我们在命令提示符(*.*, *.jpg等)下使用它的常用方法.

您必须获取所有目录,然后应用您的正则表达式来过滤掉一些目录

Regex reg = new Regex(@"(\d+)\.(\d+)\.(\d+)(\.\d+)*");

var dirs = Directory.GetDirectories(path)
                     .Where(path => reg.IsMatch(path))
                     .ToList();
Run Code Online (Sandbox Code Playgroud)