gpt4 book ai didi

parsing - 在 ANTLR 中使用转义引号捕获字符串文字

转载 作者:行者123 更新时间:2023-12-04 14:29:04 26 4
gpt4 key购买 nike

我对如何在 ANTLR4 中捕获带引号的字符串感到有些困惑。

目前,这个词法分析器规则没有按照我期望的方式进行标记。

示例字符串是 "=\"" .我尝试了很多不同的方法来捕捉这个,但我对我做错了什么感到茫然。我真的很感激关于最佳实践的一些见解。非常感谢!

ESCAPED_QUOTE : '\"';
QUOTED_STRING : '"' ( ESCAPED_QUOTE | ~('\n'|'\r') )*? '"';

最佳答案

上述规则有两个问题。

  • 你实际上并没有像你想象的那样逃避你的报价。您打算使用 '\\"' .
  • 您的 ESCAPED_QUOTE规则本身不会形成一个标记,所以它应该是一个 fragment规则。

  • 这两个变化的结果如下:
    fragment ESCAPED_QUOTE : '\\"';
    QUOTED_STRING : '"' ( ESCAPED_QUOTE | ~('\n'|'\r') )*? '"';

    关于parsing - 在 ANTLR 中使用转义引号捕获字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19236797/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com