antlr4-文本中的字符串转义



我有以下规则:

value      : STRING;
STRING     : '"' ('\"' | ~'"')* '"';

这是允许在字符串中出现"的正确且明智的方法吗?它被转义为"

字符串解析如下:

final ValueContext c = ...;
final String s = c.STRING().getText(); 
s.substring(1, s.length() - 1).replaceAll("\\"", """);

是的,这就是许多其他语言允许转义引号的原因。请注意,~'"'还允许在字符串文字中包含换行符。如果您不想要,请将其替换为~["rn]

相关内容

  • 没有找到相关文章

最新更新