2010-07-29 37 views

回答

2

([0-9]+:|)[0-5][0-9]\.[0-9][0-9]應該做到這一點。

+0

出於好奇引用,爲什麼「[0-9] + [0-9] +「?難道那不就是「[0-9] +」嗎?此外,這段時間應該可以用斜線逃脫或者它可以匹配任何東西,而不僅僅是一段時間。 – Faisal 2010-07-29 03:54:32

+0

這也將拿起1:99.99(或一分鐘或更長時間,實際上大於一分鐘)。 – KPthunder 2010-07-29 03:56:16

+0

正確 - 但99:99.99是合法的時機,誠實。 :) – 2010-07-29 03:59:30

1
(\d+:)?(\d{2})\.(\d{2}) 

1 or more digits, and a colon (optional) 
2 digits 
dot 
2 digits 

對於每個匹配的組,確保數字有意義。在正則表達式中嵌入0-60是愚蠢的。

matching = regex.text(str); 
matching |= $2 < 60; 
matching |= $3 < 60; 
0
(\d?\d?):?(\d\d)\.(\d\d) 

這將匹配這兩種類型的串並允許時間元素爲3個獨立的捕獲組