这样一个时间字符串:2008-08-08 20:08:08 , 请编写能够匹配它的正则表达式 这样一个时间字符串:2008-08-08 20:08:08 , 请编写能够匹配它的正则表达式,并编写JAVA代码将日期后面的时分秒提取出来,即:20:08:08 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个使用正则表达式比较麻烦吧,估计你是用来作时间验证的。还要考虑不同的月份对应的天数不同,不如直接使用DateFormat进行格式化比较好。例如:(new SimpleDateFormat("yyyy-MM-dd")).parse("yyyy-MM-dd HH:mm:ss");如果成功就说明格式正确,失败就说明格式错误。至于获取后半部分的内容,则更简单了,String[] aa = "2008-08-08 20:08:08".split(" ");if(aa != null && aa.length > 1){ System.out.println(aa[1]);}这只是一个投机取巧的方法,如果对系统性能要求比较高的话,则可以使用其它方式。 不好意思,刚才复制粘贴覆盖错了。这个使用正则表达式比较麻烦吧,估计你是用来作时间验证的。还要考虑不同的月份对应的天数不同,不如直接使用DateFormat进行格式化比较好。例如: (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse("2008-08-08 20:08:08"); 如果成功就说明格式正确,失败就说明格式错误。 至于获取后半部分的内容,则更简单了, String[] aa = "2008-08-08 20:08:08".split(" "); if(aa != null && aa.length > 1){ System.out.println(aa[1]); } 这只是一个投机取巧的方法,如果对系统性能要求比较高的话,则可以使用其它方式。 (?:[0-9]{1,4}(?<!^0?0?0?0))-(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8]|(?:(?<=(?:0[13578]|1[02])-)(?:29|3[01]))|(?:(?<=(?:0[469]|11)-)(?:29|30))|(?:(?<=(?:(?:[0-9]{0,2}(?!0?0)(?:[02468]?(?<![13579])[048]|[13579][26]))|(?:(?:[02468]?[048]|[13579][26])00))-02-)(?:29)))原来写着玩的,用于日期验证的,还没加上时间,这个表达式已经非常复杂了,效率也很低。也就是说如果在实际中应用这种表达式的话,就该打 PP! 关于正则表达式,请大家看看 请教System.out 的实现步骤 如何往一个byte数组中的某个位置放入一个int或long 谢谢 j2se string stringbuffer 一个选择题,请求答案!! JAVA的系统 dy <<= 1;是什么意思? Help!BCB中如何调用一个Java Class且得到其返回值? 今天是我的生日,而且还和她在一起,开心,散分!!!! 实现画笔功能 Jtable
(new SimpleDateFormat("yyyy-MM-dd")).parse("yyyy-MM-dd HH:mm:ss");
如果成功就说明格式正确,失败就说明格式错误。
至于获取后半部分的内容,则更简单了,
String[] aa = "2008-08-08 20:08:08".split(" ");
if(aa != null && aa.length > 1){
System.out.println(aa[1]);
}
这只是一个投机取巧的方法,如果对系统性能要求比较高的话,则可以使用其它方式。
这个使用正则表达式比较麻烦吧,估计你是用来作时间验证的。还要考虑不同的月份对应的天数不同,不如直接使用DateFormat进行格式化比较好。例如:
(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse("2008-08-08 20:08:08");
如果成功就说明格式正确,失败就说明格式错误。
至于获取后半部分的内容,则更简单了,
String[] aa = "2008-08-08 20:08:08".split(" ");
if(aa != null && aa.length > 1){
System.out.println(aa[1]);
}
这只是一个投机取巧的方法,如果对系统性能要求比较高的话,则可以使用其它方式。
(?:29|30))|(?:(?<=(?:(?:[0-9]{0,2}(?!0?0)(?:[02468]?(?<![13579])[048]|[13579][26]))|(?:(?:[02468]?[048]|[13579][26])00))-02-)(?:29)))原来写着玩的,用于日期验证的,还没加上时间,这个表达式已经非常复杂了,效率也很低。
也就是说如果在实际中应用这种表达式的话,就该打 PP!