LINQ结合正则表达式查询文件系统
string startFolder = @"D:\Program Files (x86)\Microsoft Visual Studio 12.0\"; IEnumerable<FileInfo> fileList = GetFiles(startFolder); Regex searchTerm = new Regex(@"Visual (Basic|C#|Studio)"); var queryMatchingFiles = from file in fileList where file.Extension == ".htm" let fileText = File.ReadAllText(file.FullName) let matches = searchTerm.Matches(fileText) where matches.Count > 0 select new { name = file.FullName, mat = from Match match in matches select match.Value }; foreach (var item in queryMatchingFiles) { Console.WriteLine(item.name); foreach (var item1 in item.mat) { Console.WriteLine(item1); } } Console.WriteLine(); Console.WriteLine("Press Any Key to Exit..."); Console.ReadKey();