我正在使用ANTLR 4创建DSL,并且我想知道是否可以通过相同的功能将几种日期格式(字符串)转换为日期而不传递格式,例如,如果我的DSL就是这样的话
date1 = "2020-05-08"
date2 = "2020/05/08"
date3 = "20200508"
...
在我的Java代码中,我将字符串直接转换为日期而不知道格式,例如
Date date1 = convertToDate(date1);
Date date2 = convertToDate(date2);
Date date1 = convertToDate(date3);
而不是写作
Date date1 = convertToDate(date1,"yyyy-mm-dd");
Date date2 = convertToDate(date2,"yyyy/mm/dd");
Date date1 = convertToDate(date3,"yyyymmdd");
您应该能够使用简单的正则表达式来完成此操作。
然后使用匹配组建立日期。