[英]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.