我正在使用ANTLR4进行项目,但我已经完成了一项我不太了解的事情。我有一个词法分析规则标记化以下划线或下划线或字母开头的东西,不能以' xml'开头。并且可以包含句点,短划线,字母,数字和下划线。我如何确保开头是一个字母或一个下划线,并确保它不是' xml'?
答案 0 :(得分:0)
语法:
grammar Expr;
prog: word+ EOF;
word : STRING ;
STRING : ~[xml]STRINGCHAR+;
WS : [ \t\r\n]+ -> skip;
fragment
STRINGCHAR : [_a-z] ;
在STRING的定义中使用显式排除〜运算符匹配“boy”和“_girl”但不匹配“xmlboy”。