gpt4 book ai didi

antlr4 - 如何匹配ANTLR4中的任何字符?

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

我想匹配\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>

当然可以将自己限制在 [\u0000-\u00FF] 范围内,并且我的 Inputstream 只输出已处理数据的字节值,但是我必须实现额外的逻辑才能使用我的实际文本数据。

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

最佳答案

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

编辑:另见 Lexer.MIN_CHAR_VALUE and Lexer.MAX_CHAR_VALUE 常数。

关于antlr4 - 如何匹配ANTLR4中的任何字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15141879/

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