日期的正则表达式:YYYYMM--

时间:2012-01-17 16:57:09

标签: regex date

没有日期值(“ - ”)且没有分隔符的日期的正则表达式是什么?

格式: YYYYMM -

201201 -

2 个答案:

答案 0 :(得分:2)

  ([12][0-9]{3})(0[1-9]|1[0-2])--

...处理从100001到299912的日期 -

编辑每个@ m42更正日期,哎呀!

答案 1 :(得分:0)

将其匹配为year.month的代码。

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      string txt="201201--";

      string re1="((?:[0]?[1-9]|[1][012])(?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))(?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])";
      string re2="(-)";
      string re3="(-)";

      Regex r = new Regex(re1+re2+re3,RegexOptions.IgnoreCase|RegexOptions.Singleline);
      Match m = r.Match(txt);
      if (m.Success)
      {
            String mmddyyyy1=m.Groups[1].ToString();
            String c1=m.Groups[2].ToString();
            String c2=m.Groups[3].ToString();
            Console.Write("("+mmddyyyy1.ToString()+")"+"("+c1.ToString()+")"+"("+c2.ToString()+")"+"\n");
      }
      Console.ReadLine();
    }
  }
}