我试图解析ANTLR中的数据文件 - 它具有可选的空格
3 6
97 12
15 18
Run Code Online (Sandbox Code Playgroud)
以下显示了行的开始和结束位置.最后有一个换行符,没有标签.
^ 3 6$
^ 97 12$
^ 15 18$
^
Run Code Online (Sandbox Code Playgroud)
我的语法是:
lines : line+;
line : ws1 {System.out.println("WSOPT :"+$ws1.text+":");}
num1 {System.out.println("NUM1 "+$num1.text);}
ws2 {System.out.println("WS :"+$ws2.text+":");}
num2 {System.out.println("NUM2 "+$num2.text);}
NEWLINE
;
num1 : INT ;
num2 : INT ;
ws1 : WSOPT;
ws2 : WS;
INT : '0'..'9'+;
NEWLINE : '\r'? '\n';
//WS : (' '|'\t' )+ ;
WS : (' ')+ ;
WSOPT : (' ')* ;
Run Code Online (Sandbox Code Playgroud)
这使
line 1:0 …Run Code Online (Sandbox Code Playgroud)