本帖最后由 speedfishman 于 2010-09-15 15:14:24 编辑

解决方案 »

  1.   

    string test = @"<event logger=""root"" timestamp=""2010-09-08T09:10:34.1548250+08:00"" level=""ERROR"" thread=""5516"" domain=""Intel.AstraFw.ScHostProcess.exe"" username=""CCR\ucd06ngl04sc01""><message><![CDATA[CCD06NGL04SC01.4460.5516.a532e36f-987c-460e-901f-773439044a8a;1;1047;SetLotAttribute;SetLotAttribute Channel Error: WIP051 ERROR - THIS FIELD IS A REQUIRED FIELD. PLEASE ENTER A VALID VALUE.. Input XML: ";
    Match m = Regex.Match(test, @"(?<date>2\d{3}([\-/]?)(0\d|1[012])\1([012]\d|3[01]))\D*(?<time>([10]\d|2[01234]):(0\d|1[012]):([0-5]\d|60))");
    string result = m.Groups["date"].Value + m.Groups["time"].Value;//result就是你要的
    Console.WriteLine(result);
      

  2.   

    \d{4}-\d{2}-\d{2}\w\d{2}:\d{2}:\d{2}
    未能去除T
      

  3.   

    没仔细看。string test = @"<event logger=""root"" timestamp=""2010-09-08T09:10:34.1548250+08:00"" level=""ERROR"" thread=""5516"" domain=""Intel.AstraFw.ScHostProcess.exe"" username=""CCR\ucd06ngl04sc01""><message><![CDATA[CCD06NGL04SC01.4460.5516.a532e36f-987c-460e-901f-773439044a8a;1;1047;SetLotAttribute;SetLotAttribute Channel Error: WIP051 ERROR - THIS FIELD IS A REQUIRED FIELD. PLEASE ENTER A VALID VALUE.. Input XML: ";
    Match m = Regex.Match(test, @"(?<date>2\d{3}([\-/]?)(0\d|1[012])\1([012]\d|3[01]))\D*(?<time>([10]\d|2[01234]):(0\d|1[012]):([0-5]\d|60))");
    string result = m.Groups["date"].Value + " " + m.Groups["time"].Value;//result是加了空格的
    DateTime dt = DateTime.Parse(result);//创建了DateTime,写数据库略。