如何在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
: [ tnr] + -> skip
;
我不想在满足WS
规则的同时在 UUID V4 中允许破折号前后的任何空格。我该怎么做?
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]
;