2013-07-02 135 views
-2

我想從時間字符串中刪除秒,格式是HH:MM:SS,可能有空格,最後是「am/pm」。正則表達式從時間字符串中刪除秒

For example: 11:34:41 pm to 11:34pm 
For example: 11:34:41pm to 11:34pm 
For example: 11:34:41 to 11:34 

我試了很多正則表達式,都沒有工作。

這怎麼辦?

+3

這個問題是題外話題,因爲問題必須**展示對所解決問題的最小理解**。告訴我們你試圖去做什麼,爲什麼它沒有工作,以及它應該如何工作。另請參閱:[堆棧溢出問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) – HamZa

+3

您使用哪種語言? –

+2

我不明白這裏的近距離投票。我們現在期望每個人都知道如何解決這個問題嗎?這裏有一些失敗的正則表達式不會使問題更好。 –

回答

-1

您可以使用此一:

/:\d\d([ ap]|$)/ 

的想法是當它後面的字符串的結束或一個空格來匹配:\d\d

可以通過鍵入那些在控制檯測試它在瀏覽器中:

'11:34:41'.replace(/:\d\d([ ap]|$)/,'$1') 

'11:34:41 pm'.replace(/:\d\d([ ap]|$)/,'$1') 

'11:34:41pm'.replace(/:\d\d([ ap]|$)/,'$1') 
+0

-1不起作用 – mate64

2

這將與2號,後跟一個冒號,接着2號:

\d{2}:\d{2} 

這可能對你來說足夠好。不過,如果你也想匹配的可能秒和/或am/pm,但不抓住他們,用這一個:

(\d{2}:\d{2})(?::\d{2})?(?:am|pm)? 
  • (\d{2}:\d{2})會做同樣的比賽作爲第一個正則表達式和捕捉結果。
  • (?::\d{2})?將匹配秒如果存在。
  • (?:am|pm)?將匹配ampm如果存在。
+0

-1不起作用 – mate64

相關問題