我有一个为时间戳创建信息的程序,时间戳必须匹配以下格式: MM/DD/YYYY HH:MM:SS AM or PM
例如:
06/02/2016 10:14:56 AM
09/14/2014 9:16:32 PM
我需要一种方法来使用首选的正则表达式来匹配此信息,但是不必一定是正则表达式。任何帮助,将不胜感激。
我知道如何搭配的数字/\d+/
,和非空白字符,但匹配的数字将不会抢:
,/
,AM or PM
。抓住非空白区域将获得除明显的空白区域以外的所有内容。
因此,回顾一下,我需要一种方法来验证格式化的时间和日期:MM/DD/YYYY HH:MM:SS AM or PM
该时间和日期可以包含20到22个字符(包括空格),也可以不作为用户输入给出。
我需要的示例:
def timestamp
print 'Enter the time stamp to verify: '
ts = gets.chomp
if !(ts[REGEX-HERE])
puts 'Invalid formatting of time stamp'
exit 1
else
puts ts
end
end
# <= 6/1/2016 1:10:5 PM will output '6/1/2016 1:10:5 PM'
# <= 06/01/2016 01:10:05 PM will output 'Invalid formatting of time stamp'
# <= 10/1/2016 1:25:43 AM will output '10/1/2016 1:25:43 AM'
# <= 10/01/2016 01:25:43 AM will output 'Invalid formatting of time stamp'
此正则表达式应为您工作,以验证您的输入:
^\d{1,2}\/\d{1,2}\/\d{4} \d{1,2}:\d{1,2}:\d{1,2} [AP]M\z
这将验证以下任一输入行:
10/22/2016 9:15:32 PM
9/9/2016 9:9:5 AM
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句