撇号策略为何不只是替换一个字符
字典转换、大小写规则与精确白名单,回答的是同一个原词的不同问题。
先把原词与查询候选分开
aren’t 与 aren't 在原件中是两个不同字符串。字典的 ICONV 可以让它们进入相同查询候选,原词仍不能被替换。空白、大小写和复合规则也可能改变候选;因此需要保留实际转换顺序,而不在结果之后再猜一个解释。
| 问题 | 证据 |
|---|---|
| 原词是否相同? | 原件、完整词元、序号与来源位置 |
| 字典是否接受? | 同一次 correct 的布尔值与完整尝试轨迹 |
| 是否被白名单批准? | 精确原词分组与全部条目序号;dictionaryCorrect=null |
不要让复合规则误认字符串内部
原 nspell 复合正则未锚定,可能把 zzz21stzzz 内部的 21st 视为匹配。本工具仅为复合表达式增加整词 ^(?:...)$ 锚定,保留原成熟分支与正则大小写标记。18 个有限序数字符串已独立核对;这不代表所有 Hunspell 语法或所有词都等价。新页面小样例也保留了 zzz21stzzz 的错误状态和完整原词。
白名单覆盖不应隐去输入
白名单区分大小写,不 trim、不转换撇号、不做 Unicode 归一化。重复项与空项完整保留。显式空字符串只能覆盖精确空词,不能覆盖只含空格的词。字符串 "-0" 是文本而不是数值零;重复词仍各有一行,不去重。
- 用完整分组的 entryOrdinals 追溯每个覆盖依据。
- 比较原词和 toolPrelookup / dictionaryLookup 时,同时查看当前策略。
- 保留原件、设置、固定字典与完整许可证,避免只留一个布尔列。
判断范围与来源义务
正则内部 VM 步数、原生容器内存估算、联合上限容量、完整 Hunspell 等价、原生 Worker 与跨引擎验收仍待核验。原问题的私有词表和环境没有公开;这不是语法认证。
词典包含UKACD、SCOWL、WordNet、VarCon及Ispell版权声明,完整条件见随附许可证文档。
字典随附完整 SCOWL、WordNet/Princeton、UKACD、VarCon 与 Ispell 署名。本工具没有来源方背书,也不自动修改用户词或提供语法认证。原问题私有数据、地区习惯与旧环境兼容性仍未知。
参考资料
- nspell 2.1.5 source
固定原始成熟字典核对分支;本工具标记预算观察与整词锚定改动。
- dictionary-en source and full licenses
固定 dictionary-en 4.0.0;导出保留完整上游许可与署名,链接当前分支不代替固定版本。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
原始词表拼写核对按明确的撇号策略核对全部英语原词,保留完整查询轨迹与白名单依据。
为固定 en_US 字典选择三种撇号策略之一。重复词、空白、空词和 JSON 原始词元均保留独立序号与来源位置;精确原词白名单可以覆盖一个词的状态,但不会修改字典。
操作步骤
- 选择一份完整 UTF-8 文件或粘贴词表,并为原词与可选白名单分别选择 TXT 行或 JSON 字符串数组。
- 选择生效撇号策略;白名单按原词逐字符且区分大小写匹配,空字符串只覆盖精确空词。
- 运行后逐页阅读全部 26 列、实际转换与查询轨迹;通过完整文件阅读入口检查原件、设置、字典和全部许可证。
- 复制完整报告与文件清单,并保存全部 10 个文件;启用白名单时额外保存白名单原件,共 11 个文件。
可调选项
- 待核对词来源
- 本地文件 · 粘贴完整文本
- 词列表格式
- TXT:每行一个词 · JSON:字符串数组
- 撇号策略
- 词典策略:包含词典原生弯撇号转换 · 仅在查词副本中将U+2019转换为直撇号 · 保留原撇号;禁用词典输入转换
- 原词精确白名单
- 不使用白名单 · 本地文件 · 粘贴完整文本
- 词列表格式
- TXT:每行一个词 · JSON:字符串数组
能力与限制
- 原词与白名单合计 4 MiB UTF-8;原词最多 100,000 行,白名单独立最多 100,000 项;每词最多 128 个 Unicode 码点。
- 固定 AFF 与 DIC 合计最多 8 MiB;最多 100,000 次词核对;加载、展开、白名单、查询与序列化共同受 100,000,000 个可观测计费单元约束。
- 全部 10/11 个文件加独立完整复制文本合计最多 64 MiB;持有的来源、字典、记录、序列化、克隆、Blob 与界面表示共同受 768 MiB 保守预分配约束。
- 60 秒绝对期限从捕获输入开始,覆盖读取、模块载入、字典初始化、核对、编码、完整校验、清理与首次发布;不使用预展开字典绕过期限。
- TXT 保留 CRLF、CR、LF 和末尾空行;JSON 仅接受完整字符串数组;不修复非法 UTF-8 或孤立代理项。字符串 "-0" 保持文本,数值 -0 词项被拒绝。
- 正则内部 VM 步数、原生容器内存估算、联合上限容量、完整 Hunspell 等价、原生 Worker 与跨引擎验收仍待核验。原问题的私有词表和环境没有公开;这不是语法认证。