如何匹配ANTLR4中的任何角色?

如何匹配ANTLR4中的任何角色?,antlr4,Antlr4,我想匹配\u0000到\uFFFF范围内的任何字符,以下代码不够: grammar CharacterClass; start : CH* EOF; CH : [\u0000-\uFFFF]; 编辑: 我这样问是因为我想在类似XML的结构中插入二进制数据: <binary:key>uhihahdudi some binary data, that should be ignored by ANTLR izgizgio</binar

我想匹配\u0000到\uFFFF范围内的任何字符,以下代码不够:

grammar CharacterClass;

start   :       CH* EOF;
CH      :       [\u0000-\uFFFF];
编辑:

我这样问是因为我想在类似XML的结构中插入二进制数据:

<binary:key>uhihahdudi    some binary data, that should be ignored by ANTLR
izgizgio</binary:key>
uhihahdudi一些二进制数据,ANTLR应该忽略这些数据
伊兹吉奥
当然可以将自己限制在[\u0000-\u00FF]范围内,我的Inputstream只输出处理数据的字节值,但是我必须实现额外的逻辑来使用实际的文本数据


对我来说,最好的解决方案是,ANTLR以某种方式跳过二进制部分,因此我可以处理文本数据(要处理二进制部分,我只需要这些部分的开始和结束位置)

ANTLR 4只能匹配范围
[\u0000-\uFFFE]
。如果确实需要匹配所有可能的输入,则需要匹配
[\u0000-\u00FF]
,并将输入作为字节而不是UTF-16字符提供给解析器


编辑:另请参见常量。

谢谢您的回答。你的解决方案是个好主意,但不是我喜欢的解决方案。你能再看看我的问题吗?我对我的问题做了更详细的描述。(我不想处理二进制数据,但我想将其插入类似xml的结构中。我只需要用ANTLR跳过这些二进制部分)