我想了解如何代表' datetime'格式如" yyyy-MM-dd hh:mm"使用EBNF。
答案 0 :(得分:0)
使用EBNF制定此方法的一种可能方法如下所示。该表达式仅解析合法的年,月和时间戳。但是,它允许任何月份最多有31天。
Timestamp = [ "-" ] Year "-" Month "-" Day " " Time ;
Year = Digit Digit Digit Digit ;
Month = "0" Digit | "1" "0".."2" ;
Day = "0".."2" Digit | "3" "0".."1" ;
Time = Hour ":" Minute ;
Hour = "0".."1" Digit | "2" "0".."3" ;
Minute = "0".."5" Digit ;
Digit = "0".."9" ;