以下是以前ANTLR版本的相关主题:
Java ANTLR how to ignore part of rule? ignore part after subrule
使用词法规则:
R1
: [a-zA-Z0-9]* ';'
;
例如我有这个输入文字:
test;rezrezr
zrezrzerz
它将匹配“test;”这是对的。我只需要“测试”字符串。
我需要照顾';'例如,在自定义侦听器中手动设置字符?或者有没有办法在语法中指定我想避免它(仅使用词法分析器规则)?
更新
test1;rezrezr
zrezrzerz
test2;rezrezr
zrezrzerz
答案 0 :(得分:0)
如果要避免使用;
字符,只需将其从词法分析器规则中删除即可。请注意,我还将*
更改为+
,以确保R1
永远不会是零长度令牌。
R1
: [a-zA-Z0-9]+
;