我写了一个简单的规则来匹配ANTLR语法中的字符串:
STRING
: '"' (ESC | ~["\\])* '"'
;
实际上我需要字符串的内容而不是引号,只需要匹配字符串。
我找到了ANTLR 3的解决方案,which is published in the ANTLR wiki。但我想知道是否有解决方案可以在没有自定义代码的情况下实现相同的目标。
答案 0 :(得分:2)
这应该有效:
STRING
: '"' (ESC | ~["\\])* '"'
{setText(getText().substring(1, getText().length()-1));}
;
它简单地从字符串中删除第一个和最后一个字符。
取自https://theantlrguy.atlassian.net/wiki/spaces/ANTLR3/pages/2687006/How+do+I+strip+quotes