我需要验证时间的时间格式是:hh:mma
示例:
09:00pm
09:00am
08:55pm
08:54am
1:00pm
我知道我需要使用Go的regexp包及其MatchString方法。但我无法弄清楚我需要传递给MatchString方法以实现我需要的模式。
我还搜索了一个Go验证器包,我可以使用它而不是编写我自己的验证器来验证时间格式,但我找不到符合我需要的验证器。
答案 0 :(得分:4)
答案 1 :(得分:0)
迟到了,但我想在正则表达式之外提出另一种解决方案。您可以使用时间包来验证您的值,然后,如果需要,您可以稍后使用结果值。
std::lrint
哪个可以提供以下内容:
package main
import (
"fmt"
"time"
)
func main() {
Form := "3:04pm"
timesToCheck := []string{"7:54pm", "09:00pm", "09:00am", "08:55pm", "08:54am", "1:00pm", "23:00am"}
for _, v := range timesToCheck {
if t, e := time.Parse(Form, v); e != nil {
fmt.Println(e.Error())
} else {
fmt.Printf("%#v\n", t)
}
}
}
答案 2 :(得分:-1)
您也可以不使用正则表达式来做到这一点:
if _, err := time.Parse(time.Kitchen, strings.ToUpper("8:20pm")); err == nil {
//ok
}