正则表达式

我当年比她漂亮 2012-05-24 03:42:26
怎么在两种字符串中提取日期啊,提取结果要是年月日时分秒比如“2011-12-5 11:41:39”

string a="ADDRESS_STREET=Clara-Zetkin Str. 02 PAYMENT_DATE=10:00:28 Apr 13, 2012 PDT PAYMENT_STATUS=Completed";
string n="ADDRESS_STREET=Fl?renes PAYMENT_DATE=11:41:39 Dec 05, 2011 PST PAYMENT_STATUS=Completed CHARSET=windows-1252";

有没有通用的正则来获取这两段的年月日时分秒啊?
...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2012-05-30
  • 打赏
  • 举报
回复

不知你是不是要用C#来实现
q107770540 2012-05-30
  • 打赏
  • 举报
回复

void Main()
{
string a="ADDRESS_STREET=Clara-Zetkin Str. 02 PAYMENT_DATE=10:00:28 Apr 13, 2012 PDT PAYMENT_STATUS=Completed";
string n="ADDRESS_STREET=Fl?renes PAYMENT_DATE=11:41:39 Dec 05, 2011 PST PAYMENT_STATUS=Completed CHARSET=windows-1252";
Regex reg=new Regex(@"(\d{1,2}:)+\d{1,2}\s\w+\s\d{1,2},\s\d{4}");
Console.WriteLine(Convert.ToDateTime(reg.Match(a).Value)); //2012-4-13 10:00:28
Console.WriteLine(Convert.ToDateTime(reg.Match(n).Value)); //2011-12-5 11:41:39
}
q107770540 2012-05-30
  • 打赏
  • 举报
回复
(\d{1,2}:)+\d{1,2}\s\w+\s\d{1,2},\s\d{4}
了解 2012-05-30
  • 打赏
  • 举报
回复
楼主,由于你的地址长度不确定,中间需要用到charindex()函数的。
结合上面我写的substring()函数可以解决你的问题。
了解 2012-05-30
  • 打赏
  • 举报
回复
楼主,通用的正则应该不好写,不过你用substring足够解决问题呀。
你可以试试substring这个函数,也很简单。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧