簡體   English   中英

正則表達式為12小時和24小時時間格式

[英]Regex for 12hr and 24hr time format

我使用兩個正則表達式來驗證12小時和24小時格式的時間,但在某些情況下它不起作用。我在這些正則表達式中做錯了什么?它不起作用

為了驗證12小時格式,如上午10:00 /下午12:00,我使用了正則表達式

^(([0]?[0-9]|1[0-2]):[0-5][0-9][ ][aApP][mM])|((1[3-9]|2[0-3]):[0-5][0-9])$

為了驗證24小時格式,如23:00/12:00,我使用了正則表達式

^(([0]?[0-9]|1[0-2]):[0-5][0-9])|((1[3-9]|2[0-3]):[0-5][0-9])$

我不確定你為什么在你的第一個正則表達式中有一些24小時格式。 僅12小時的格式就可以簡化為:

new Regex(@"^(?:0?[0-9]|1[0-2]):[0-5][0-9] [ap]m$", RegexOptions.IgnoreCase);

對於24小時格式,您可以將其簡化為:

new Regex(@"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$");

或者將兩者結合起來:

new Regex(@"^(?:(?:0?[0-9]|1[0-2]):[0-5][0-9] [ap]m|(?:[01][0-9]|2[0-3]):[0-5][0-9])$", RegexOptions.IgnoreCase);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM