我正在使用ANTLR4和Java定义语法。对于整数,我想要一个数字,前面加一个减号。我知道可以这样做:
qml: currentIndex 0
qml: currentIndex 1
qml: currentIndex 2
qml: currentIndex -1
qml: currentIndex 2
qml: currentIndex -1
qml: currentIndex 0
qml: currentIndex 1
但我想知道是否有一个符号(类似于*)确保减号出现零次或一次:
integer: '-' (DIGIT)* | DIGIT* ;
答案 0 :(得分:4)
是的,它是?
,这意味着零或一次(可选)。此外,*
表示零以上。您可能需要+
,这意味着一次或多次:
integer : '-'? DIGIT+ ;