如何在C#中根据RegEx查找文件
我需要获取某些驱动器上具有匹配特定模式的路径的文件列表,例如FA \ d \ d \ d \ d.xml其中\ d是数字(0,1,2..9)。 所以文件可以有像FA5423.xml这样的名称。
这样做最有效的名字是什么?
你在使用C#3吗?
Regex reg = new Regex(@"^FA[0-9]{4}\.xml$"); var files = Directory.GetFiles(yourPath, "*.xml").Where(path => reg.IsMatch(path));
你可以这样做:
System.IO.Directory.GetFiles(@"C:\", "FA????.xml", SearchOption.AllDirectories);
然后从你的结果只是迭代它们并validation它们对你的正则表达式,即?
名称中的字符都是数字
使用Directory API查找FA????.xml
,并通过正则表达式filter运行结果列表:
var fa = from f in Directory.GetFiles("FA????.xml") where Regex.Match(f, "FA\d\d\d\d\.xml") select f;