如何在ANTLR4中编写类似“任何字符但排除......”的规则?

时间:2013-04-21 02:12:27

标签: antlr

例如在rfc2047

token = 1*<Any CHAR except SPACE, CTLs, and especials>
especials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "
<"> / "/" / "[" / "]" / "?" / "." / "="

为令牌规则编写所有允许的字符 要么 如何结合特殊规则?

1 个答案:

答案 0 :(得分:3)

ANTLR 4包含与正则表达式类似的包含集合表示法。然后可以使用~运算符取消该集合。以下是两个显示包含性和排他性集的示例。

LETTER : [a-zA-Z];
NOT_LETTER : ~[a-zA-Z];