短正则表达式datetime split

时间:2010-07-28 12:13:31

标签: java php regex datetime split

我正在尝试拆分以下内容: 2010-07-30 10:10:50

我想结束:

2010

07

30

通常只有日期, 你的正则表达式是/ - /

然而现在我想要一些简单的东西,但现在我得到了

2010

07

30 10:10:50

我怎样才能获得最后一部分+空格?

非常感谢你!

ps,现在我需要在PHP中使用它 但后来我还需要在JAVA中实现它

4 个答案:

答案 0 :(得分:0)

刚刚删除的答案就像魅力一样 / [ - ] /

它在PHP中完成了这个技巧,也可能在JAVA中。

答案 1 :(得分:0)

正如马克所说,这取决于编程语言: 我可以这样想起awk:

echo "2010-07-30 10:10:50"|awk -F'-' '{split($3,a," ");print $1,$2,a[1]}'

答案 2 :(得分:0)

好吧,我不知道您使用的是哪种语言,但您可以使用下面的正则表达式来匹配您描述的兴趣数字

\b\d+\b(?=(\s|-)) 

这实际上做的是找到以空格或用超广告结尾的数字

答案 3 :(得分:0)

在[ - ]上使用拆分:

在perl中,我认为用其他语言进行转置很容易。

my $s =q!2010-07-30 10:10:50!;
my @l = split/[- ]/,$s;
$" = $/;
print "@l";

输出:

2010
07
30 
10:10:50