2015-06-03 93 views
1

我遇到RegEx模式的問題,它讓我很生氣;-)RegEx模式 - 時間格式

有人可以幫助我嗎?

我的正則表達式:

/(\d+)?:?(\d+):(\d+)/ 

時間字符串:

2:03, 24:35, 2:43:36 

輸出:

Array [ "2:03", undefined, "2", "03" ] // correct 
Array [ "24:35", "2", "4", "35" ]  // should be: [ "24:35", undefined, "24", "35" ] 
Array [ "2:43:36", "2", "43", "36" ] // correct 
+4

似乎對JavaScript代碼。和java和javascript不一樣 – Razib

+0

對不起..這是一個錯誤。我已更正標籤。 – Fleckchen

回答

1

我相信,你只需要圍繞你的選購第一個數字和結腸非捕獲組:

(?:(\d+)?:)?(\d+):(\d+) 

這裏是它返回你想要的結果的例子:http://www.regexr.com/3b4m2

+0

是的......就是這樣。非常感謝! :-) – Fleckchen

0

使用此([ 0-9] | 0 [0-9] | 1 [0-9] | 2 [0-3]):[0-5] [0-9] HH:MM格式 ([0-9] | 0 [0-9] | 1 [0-9] | 2 [0-3]):[0-5] [0-9]:[0-5] [0-9] HH:MM:SS格式