gpt4 book ai didi

ruby - 匹配 mm/dd/yyyy hh :mm:ss AM or PM 的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:42 24 4
gpt4 key购买 nike

我有一个为时间戳创建信息的程序,时间戳必须符合以下格式:MM/DD/YYYY HH:MM:SS AM or PM

例如:

06/02/2016 10:14:56 AM

2014 年 9 月 14 日下午 9:16:32

我需要一种使用正则表达式来匹配此信息的方法,但它不一定是正则表达式。如有任何帮助,我们将不胜感激。

我知道如何匹配数字 /\d+/ 和非空白字符,但是匹配数字不会获取 :, /上午或下午。捕获非空白区域将捕获除了明显的空白区域之外的所有内容。

总而言之,我需要一种方法来验证格式化的时间和日期: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

RegEx Demo

这将验证以下任一输入行:

10/22/2016 9:15:32 PM
9/9/2016 9:9:5 AM

关于ruby - 匹配 mm/dd/yyyy hh :mm:ss AM or PM 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38151515/

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