Joh*_*eYo 2 ruby regex format time date
我有一个为时间戳创建信息的程序,时间戳必须符合以下格式: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'
Run Code Online (Sandbox Code Playgroud)
这个正则表达式应该适合您验证您的输入:
^\d{1,2}\/\d{1,2}\/\d{4} \d{1,2}:\d{1,2}:\d{1,2} [AP]M\z
Run Code Online (Sandbox Code Playgroud)
这将验证这些输入行之一:
10/22/2016 9:15:32 PM
9/9/2016 9:9:5 AM
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15214 次 |
最近记录: |