我在使用正则表达式来获取字符串中的日期时遇到了一些麻烦。 示例:
string text = "75000+ Sept.-Oct. 2004";
MatchCollection dates = Regex.Matches(text, @"[0-9]{5,}[+][\s](jan|feb|fev|mar|apr|avr|may|mai|jun|jui|jul|jui|aug|aoû|sept|oct|nov|dec)[\.][\-](jan|feb|fev|mar|apr|avr|may|mai|jun|jui|jul|jui|aug|aoû|sept|oct|nov|dec)[\.]\s[0-9]{4}", RegexOptions.IgnoreCase);
此代码与我当前的字符串匹配,但我想进入我的matchcollection,“2004年9月”和“2004年10月”,以便在2个日期时间内解析它。
如果有人有任何想法,非常感谢。
答案 0 :(得分:0)
检查数组的长度等。你应该明白这个想法
string text = "75000+ Sept.-Oct. 2004";
MatchCollection dates = Regex.Matches(text, @"[0-9]{5,}[+][\s](jan|feb|fev|mar|apr|avr|may|mai|jun|jui|jul|jui|aug|aoû|sept|oct|nov|dec)[\.][\-](jan|feb|fev|mar|apr|avr|may|mai|jun|jui|jul|jui|aug|aoû|sept|oct|nov|dec)[\.]\s([0-9]{4})", RegexOptions.IgnoreCase);
Console.WriteLine(dates[0].Groups[1] + " " + dates[0].Groups[3]);
Console.WriteLine(dates[0].Groups[2] + " " + dates[0].Groups[3]);