string fileName = ""; string sourcePath = @"C:\vish"; string targetPath = @"C:\SR"; string sourceFile = System.IO.Path.Combine(sourcePath,fileName); string destFile = System.IO.Path.Combine(targetPath,fileName); string pattern = @"23456780"; var matches = Directory.GetFiles(@"c:\vish") .Where(path => Regex.Match(path,pattern).Success); foreach (string file in matches) { Console.WriteLine(file); fileName = System.IO.Path.GetFileName(file); Console.WriteLine(fileName); destFile = System.IO.Path.Combine(targetPath,fileName); System.IO.File.Copy(file,destFile,true); }
我的上述程序适用于单一模式.
我正在使用上面的程序来查找具有匹配模式的目录中的文件但在我的情况下我有多个模式所以我需要将字符串模式变量中的多个模式作为数组传递但我不知道我是怎么回事可以在Regex.Match中操纵这些模式.
谁能帮我?
解决方法
你可以在正则表达式中加一个OR:
string pattern = @"(23456780|otherpatt)";