我想解析一个时间表达式字符串(有4组:周(w),日(d),小时(h)和分钟(m))。 一些例子是:
我想出了这种模式:
([+-]{0,1})([0-9]+)w?\s?(0?[1-9]|[12][0-9]|3[01])d?\s?([01]?[0-9]|2[0-3])h?\s?([0-5][0-9])m?
但这种模式不起作用。请帮忙。抱歉我的英文!
答案 0 :(得分:1)
^([+-]?)([0-9]+)?w?\s*?(0?[1-9]|[12][0-9]|3[01])?d?\s*?([01]?[0-9]?|2[0-3])?h?\s*?([0-5]?[0-9])?m?$
现在修改你的regex.Works。虽然可能需要更多的测试。
参见演示。
答案 1 :(得分:0)
这是我用于验证的内容:
^(?:(?:0?[0-9]|1[0-2]):[0-5][0-9]\s?(?:(?:[Aa]|[Pp])[Mm])?|(?:1[3-9]|2[0-3]):[0-5][0-9])$
它适用于24:00和12:00格式,允许资本上午/下午。
也许它可以帮助你朝着正确的方向发展。