我有一个多语言和多文化的网络应用程序。在我们的所有列表页面上,我们都有一个搜索栏,允许我们过滤列表。这会调用ANTLR4将过滤器解析为我们的对象。我现在的主要问题是我试图在ANTLR语法中添加一些内容来解释所有不同的日期时间格式。在其之前或之后使用变化的符号稍微难以形成正确的片段。有人对这个有经验么?
以下是专门针对am / pm格式的当前语法:
DATE_TIME12HR : SINGLE_QUOTE DEF_DATE BLANK DEF_TIME12HR SINGLE_QUOTE;
DATE_TIME24HR : SINGLE_QUOTE DEF_DATE BLANK DEF_TIME24HR SINGLE_QUOTE;
DATE : SINGLE_QUOTE DEF_DATE SINGLE_QUOTE;
fragment DATE_SEPARATOR: (SLASH|PERIOD|DASH|COMMA|BLANK);
fragment TIME_SEPARATOR: (COLON|PERIOD|BLANK|COMMA);
fragment DEF_DATE: [0-9]* DATE_SEPARATOR [0-9]* DATE_SEPARATOR [0-9]*;
fragment DEF_TIME24HR: [0-2][0-9] TIME_SEPARATOR [0-5][0-9] TIME_SEPARATOR [0-5][0-9];
fragment DEF_TIME12HR: [0-1]?[0-9] TIME_SEPARATOR [0-5][0-9] TIME_SEPARATOR [0-5][0-9] [ ]([Aa]|[Pp])[Mm];
任何建议都将不胜感激。我宁愿不必为每种文化硬编码。