如何在antlr中捕获换行符并忽略\ n

时间:2018-09-13 04:11:32

标签: string antlr

我在antlr中遇到字符串令牌问题。我必须接受“ abc \ n”之类的字符串,但是当我按

之类的字符串时会引发错误
"abc  




                       "

如何捕获换行符并忽略\ n?

1 个答案:

答案 0 :(得分:0)

规则

STRING : '"' ( ~[\\"\r\n] | '\\' ~[\r\n] )* '"'; 

将匹配:

  • "foo bar"
  • "foo\\bar"
  • "foo\"bar"
  • "foo\nbar"

并拒绝:

"foo
bar"

如果您还想匹配被拒绝的输入,请执行以下操作:

STRING : '"' ( ~[\\"] | '\\' [\\"] )* '"';