You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nearley后处理意外删除有效空白字符问题求助

Nearley语法匹配括号内容时空格被压缩的原因

核心原因

  • 你引入的@builtin "whitespace.ne"内置规则自带全局空白标准化逻辑,默认会将输入中所有连续空白字符统一压缩为单个空格,该处理是全局生效的,不会主动识别引号范围做特殊保留,你测试输入中引号内的4个空格,在词法预处理阶段就已经被压缩为1个。
  • 你当前的语法没有做字符串字面量的单独匹配:args -> .:*是无差别匹配所有字符,没有将引号内的内容标记为需要保留原始格式的范围,无法避开全局空白压缩逻辑。

修复思路

如果要保留引号内的原始空格,可做两处调整:

  • 废弃whitespace.ne的全局空白处理,改为在需要忽略空白的语法节点(比如括号两端、参数分隔符两侧)单独配置空白匹配规则
  • 新增独立的字符串字面量匹配规则,优先级高于普通字符匹配,匹配到引号内容时直接返回原始字符,不做压缩处理

内容的提问来源于stack exchange,提问作者arindam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:39:02