using System.Text.RegularExpressions;
public static void Main()
string text = "Mar. 2 to '05";
string[] months = {"January", "Jan", "February", "Feb", "March", "Mar", "April", "Apr", "May", "June", "Jun", "July", "Jul", "August", "Aug", "September", "Sept", "Sep", "October", "Oct", "November", "Nov", "December", "Dec"};
foreach (string m in months)
regex = new Regex(@"\b(" + m + @"\b.? (\d{1,2}) ?(\-|to|through)[\,\s]+\'?(\d{2,4}))");
match = regex.Match(text);
Console.WriteLine("case1:"+match.Value);
string completeDate = match.Groups[1].ToString();
int day1 = Convert.ToInt32(match.Groups[2].Value);
string day2 = match.Groups[3].ToString();
string key = string.Format("{0}-{1}", st, st+completeDate.Length);
Console.WriteLine(completeDate + "\tfirst:" + day1 + "\tsecond:" + day2);