Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对如何在 ANTLR4 中捕获带引号的字符串感到有些困惑。
目前,这个词法分析器规则没有按照我期望的方式进行标记。
示例字符串是"=\"". 我尝试了很多不同的方法来捕捉这一点,但我对自己做错了什么感到茫然。我非常感谢有关此最佳实践的一些见解。太感谢了!
"=\""
ESCAPED_QUOTE : '\"'; QUOTED_STRING : '"' ( ESCAPED_QUOTE | ~('\n'|'\r') )*? '"';
上述规则有两个问题。
'\\"'
ESCAPED_QUOTE
fragment
这两个更改的结果如下:
fragment ESCAPED_QUOTE : '\\"'; QUOTED_STRING : '"' ( ESCAPED_QUOTE | ~('\n'|'\r') )*? '"';