我正在使用两个正则表达式来验证12hr和24hr格式的时间,但在某些情况下,它不是working.Am I在这些正则表达式中做错了什么?它不工作
为了验证12小时格式,例如10:00 AM/12:00 PM,我使用了regex
^(([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,我使用了regex
^(([0]?[0-9]|1[0-2]):[0-5][0-9])|((1[3-9]|2[0-3]):[0-5][0-9])$发布于 2013-09-30 14:00:53
我不确定为什么您的第一个正则表达式中有一些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);https://stackoverflow.com/questions/19087183
复制相似问题