Quiero analizar las fechas ISO 8601 en mi gramática ANTLR.¿Cómo hacer coincidir un número fijo de caracteres en ANTLR 3?
2001-05-03
He las siguientes entradas en mi archivo de gramática:
date : FOUR_DIGIT ('-')? TWO_DIGIT ('-')? TWO_DIGIT ;
FOUR_DIGIT
: TWO_DIGIT TWO_DIGIT ;
TWO_DIGIT
: DIGIT DIGIT ;
DIGIT : ('0'..'9') ;
sé que puedo coincidir con uno o más con DIGIT+
y cero o más con DIGIT*
Aunque esto funciona, ¿hay una sintaxis más simple para especificar Quiero unir exactamente 2 DIGIT
?
solo para aquellos que pasan por aquí en el futuro, abandoné las fechas de análisis en mi analizador sintáctico y decidí que es mejor analizar las fechas directamente en el código hasta que pueda encontrar una forma de analizar las fechas de forma nativa que no termine en conflicto con otros términos que comienzan con patrones 'DIGIT'. –