ANTLR4:零次或一次

ANTLR4: zero or one times

我正在使用 ANTLR4 和 Java 定义语法。对于整数,我想要一个前面带有减号的数字。我知道可以这样做:

integer: '-' (DIGIT)* | DIGIT* ;

但我想知道是否有一个符号(类似于 *)可以确保减号出现零次或一次:

integer: ('-')<some symbol here> (DIGIT)* ;

是的,是?,这意味着零次或一次(可选)。此外,* 表示 零矿石 。您可能想要 + ,这意味着 一次或多次 :

integer : '-'? DIGIT+ ;