我想验证时间,比如早上6:30或11:54,但不是UTC+6:30
本文关键字:UTC+6 时间 验证 | 更新日期: 2023-09-27 18:22:20
我目前使用的模式是:
(0*[1-9]|1[0-9]|2[0-3]):([0-5][0-9]) *(AM|am|PM|pm)*
但这也验证了"UTC+6:30"中的6:30我不希望它在"UTC+"或"UTC-"之后的任何时间进行验证
@TesselatingHeckler使用否定的后备断言的想法是正确的,但缺少一件重要的事情。你还需要一个单词边界锚:
(?<!UTC[+-])'b(0*[1-9]|1[0-9]|2[0-3]):([0-5][0-9]) *([AP]M|[ap]m)?
否则,UTC+11:00
也将匹配(因为1:00
是此正则表达式的有效匹配项)。
另一件事:为什么00:30
不是有效的匹配?不会
(?<!UTC[+-])'b([01]?[0-9]|2[0-3]):([0-5][0-9]) *([AP]M|[ap]m)?
变得更好?