> static void Main(string[] args) > { > string[] lines = > { @"-rw-rw-rw- 1 user group 1402 Dec 30 2005 AmazonCA.gif", > @"-rwxrwxrwx 1 owner group 4480 Feb 15 2:25 8A17T2T1.txt" > }; > > string pattern = @"^(?<Permissions>\S+)\s+(?<Links>\d+)\s+(?<User>\w+)\s+(?<Group>\w+)\s+(?<FileSize>\d+)\s+(?<Month>\w+)\s+(?<Day>\d+)\s+((?<Year>\d{4})|(?<Time>\d+:\d+(:\d+)?))\s+(?<FileName>\S+)$"; > > > > foreach (string line in lines) > { > Match m = Regex.Match(line, pattern); > > if (m.Success) > { > Console.WriteLine("Month {0}", m.Groups["Month"]); > Console.WriteLine("Day {0}", m.Groups["Day"]); > Console.WriteLine("Year {0}", m.Groups["Year"]); > Console.WriteLine("Time {0}", m.Groups["Time"]); > Console.WriteLine("FileName {0}", m.Groups["FileName"]); > } > else > Console.WriteLine("No match"); > > } > > > Console.ReadLine(); > return; > > > } >Very interesting approach, thanks for the sample