如何在ANTLR4中为UUID v4编写词法分析器规则?
UUIDV4: [0-9a-fA-F]{8}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{4}'-'[0-9a-fA-F]{12};;
我还要导入另一条符合以下规则的语法
WS
: [ \t\n\r] + -> skip
;
在满足WS
规则的情况下,我不想在UUID V4中的破折号前后留任何空格。我该怎么办?
答案 0 :(得分:2)
ANTLR没有{...}
量词。您将不得不自己重复一遍。这样的事情应该做到:
UUIDV4
: HEX_4 HEX_4 '-' HEX_4 '-' HEX_4 '-' HEX_4 '-' HEX_4 HEX_4 HEX_4
;
fragment HEX_4
: HEX HEX HEX HEX
;
fragment HEX
: [0-9a-fA-F]
;