0

我想忽略这条线

CHECKSUM="some string".

我试过了

CHECK_COMMENT
    : 'CHECKSUM=' (options {greedy=false;}: .)*  {skip();}
    ;

但这不起作用,尽管这适用于特殊字符。

CHECK_COMMENT
    : '========' (options {greedy=false;}: .)*  {skip();}
    ;

我怎样才能让它像单行注释一样被忽略?

4

1 回答 1

0

试试这个:

CHECK_COMMENT
    : 'CHECKSUM=' ~('\r' | '\n')* {skip();}
    ;

where~('\r' | '\n')*匹配零个或多个字符而不是换行符。

或者,包括换行符:

CHECK_COMMENT
    : 'CHECKSUM=' ~('\r' | '\n')* LINE_BREAK {skip();}
    ;

fragment
LINE_BREAK
    : '\r'? '\n'
    | '\r'
    ;
于 2013-04-10T07:33:23.593 回答