gpt4 book ai didi

c# - 12 小时和 24 小时时间格式的正则表达式

转载 作者:太空狗 更新时间:2023-10-29 21:04:57 25 4
gpt4 key购买 nike

我使用两个正则表达式来验证 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])$

为了验证像 23:00/12:00 这样的 24 小时格式,我使用了正则表达式

^(([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);

关于c# - 12 小时和 24 小时时间格式的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19087183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com