我正在尝试使用以下结构解析字符串:
客户:Heli Maintenance Ltd,网站:总部,设备:ORDERS-W10
并且想要提取ClientName,SiteName和DeviceName。
我定义了以下语法。
grammar AuditIdentifier;
row: 'Client:' customer ',' 'Site:' site ',' 'Device:' device '\r'? '\n';
customer : TEXT | STRING ;
site : TEXT | STRING ;
device : TEXT | STRING ;
TEXT: ([a-zA-Z0-9]|' ')+ ;
STRING: '"' (ESC|.)*? '"' ;
fragment ESC: '\\"' | '\\\\' ; // 2-char sequences \" and \\
WS : [ \t\n\r]+ ->
skip ; COMMA: (',')->skip;
然而它似乎没有按预期运行。它只识别客户标签。 当我尝试使用示例文本运行时,这是我的grunt输出。 客户:Heli Maintenance Ltd,网站:总部,设备:ORDERS-W10
grunt工具还会输出以下错误: 客户:Heli Maintenance Ltd,网站:总部,设备:ORDERS-W10 第1:34行令牌识别错误:':' 第1:55行令牌识别错误:':' 第1:63行令牌识别错误:' - ' 第1:29行丢失'网站:'在'网站'
第1:48行缺少'设备:''设备'