只传当前操作对应字段;不适用的定位、保护参数会报错而不是被忽略。newText 不能省略;空字符串才表示删除。deleteBetween 不接收 newText。 预览预算与 string.patch 相同;诊断文本不回显大段原文。
操作选择
最小参数
需求
operation
必要字段
准确旧片段替换
replace
oldText, newText
锚点前 / 后插入
insertBefore / insertAfter
anchor, newText
替换完整行
replaceLines
startLine, newText;endLine 可省略
保留两端锚点,替换中间
replaceBetween
beginAnchor, endAnchor, newText
保留两端锚点,删除中间
deleteBetween
beginAnchor, endAnchor
多处与行尾
Autos 的结构化精确编辑;不使用正则或模糊匹配。缺失 newText 不再视作删除。
返回 newText,null,info 或 null,err,info,失败不产生部分结果。
operation:replace / insertBefore / insertAfter / replaceBetween / deleteBetween / replaceLines。
默认唯一;replaceAll=true 才处理全部非重叠命中,expectedCount 可指定正整数校验,零命中始终报错。
newText 必须显式指定(deleteBetween 除外),空串表示删除。
replaceLines 替换含两端的完整行;空串删除这些行;有后续行时自动衔接行尾,不重复添加换行。expectedOldText 可选且允许包含末尾换行。
between 默认保留锚点,includeAnchors=true 才包含;拒绝嵌套与未闭合区间。
preserveEol 默认 true,匹配忽略 CRLF/LF/CR 的差别,新内容适配局部换行,未修改部分保留原字节。false 则精确字节模式。
previewMaxBytes:默认1024,范围0..4096,0关闭文本回显;定位最多6处,预览最多4处。
实现版本