Yon*_*Nir 3 c# regex directory
我有一个路径,其中有更多的文件夹.某些文件夹可能具有如下所示的模式:"1.0.0"或"1.0.0.0"(可以是任何数字,但它们之间采用这种格式的点).
我正在尝试使用一个正常的表达式,它可以正常使用Regex.Match,但它不能正常工作Directory.GetDirectories(path, regexPattern)
我想要使用的表达式本身是:@"(\d+)\.(\d+)\.(\d+)(\.\d+)*"
我如何使用GetDirectories方法的表达式?或者以其他方式找到我正在搜索的文件夹?
目录不使用正则表达式来匹配目录的名称,它使用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)