深色模式
渲染后处理词
对按模板渲染完成的文件名做最后一次替换或删除,并清理多余的分隔符。
前置条件
- 已在「文件整理 → 词表 → 渲染后处理词」编辑
post_render_words。 - 规则作用于「模板渲染完成之后」的文件名,不参与识别阶段。
- 想清楚要改的是文件名还是目录名——本类词表的替换会同时作用于两者。
详细规则
执行时机
text
识别 -> 制作组 / 捕获词 -> 重命名模板渲染 -> 渲染后处理词 -> 输出目标路径- 它在模板渲染之后执行,是命名链路的最后一步。
- 规则按书写顺序逐条串行应用:后一条看到的是前一条处理后的结果。
- 所有规则执行完后,再做一次统一的符号压缩。
两种写法
| 写法 | 形式 | 行为 |
|---|---|---|
| 替换 | 正则 => 替换内容 | 把命中内容替换为右侧文本 |
| 替换为空 | 正则 =>(行尾箭头,右侧无内容) | 删除命中内容 |
| 裸正则 | 只写正则 | 等价于删除命中内容 |
示例:
text
WEB DL => WEB-DL
\s*\[.*?\] =>
PROPER第一行是替换,第二行是替换为空,第三行是裸正则删除。
书写约定
=>两侧必须各有一个空格:写成A=>B会被判为语法错误,提示「疑似替换词但 => 两边缺少空格」。- 行尾的
=>(右侧为空)合法,表示删除。 #开头的行是注释,空行会被忽略。- 默认区分大小写;需要忽略大小写时在正则开头写
(?i)。
作用域:完整渲染结果(含目录)
本类词表处理的不是单独的文件名,而是模板渲染出来的完整相对路径,因此目录名也在替换范围内:
text
Season 1 => Season 01会把已经渲染好的目录 Season 1/ 改成 Season 01/。
小心误伤目录名
WEB DL => WEB-DL 这类规则会同时命中目录与文件名。如果只想改文件名部分,请把正则写得更具体(带上扩展名或更长的上下文),或改用捕获词 + 模板来解决。
捕获组替换
渲染后处理词是少数支持捕获组替换的清理类词表,写法与识别词一致:
\1–\9引用第 N 个捕获组。\g<name>引用命名捕获组。- 替换文本里需要输出字面量
$时写成$$。 - 引擎优先 RE2,含 lookaround 的写法自动回退 regexp2。
常用示例:
text
S([0-9])E([0-9]) => S0\1E0\2
第([0-9]+)季 => Season \1
第([0-9]+)集 => E\1
Season ([0-9])(/|$) => Season 0\1\2第一行把 S1E3 变成 S01E03;第四行给目录里的季号补零(Season 1/ → Season 01/)。
收尾自动压缩
所有规则执行完后,NanShare 会自动做一次收尾:
text
\.{2,} -> .
-{2,} -> -
\s{2,} -> (单个空格)最后再做一次首尾去空格。也就是说:
- 删除内容后留下的
..会变成. - 连续横线会合并为一条
- 连续空格会合并为一个
- 整串首尾的空格会被去掉
这一层不需要你手写规则,写 \.{2,} => . 之类的规则属于重复劳动。
常见用途
季号补零
text
Season ([0-9])(/|$) => Season 0\1\2
S([0-9])E([0-9]) => S0\1E0\2中文季集转英文
text
第([0-9]+)季 => Season \1
第([0-9]+)集 => E\1空字段符号清理
模板里某些字段为空时会留下孤立的点或横线:
text
\.- => -
-\. => -
\.{2,} => .
-{2,} => -统一来源写法
text
WEB DL => WEB-DL
WEBRip => WEB-DL
HDTV => HDTV删除不需要的噪声
text
\s*\[.*?\] =>
\s*【.*?】 =>
(?i)\.(sample|trailer)$统一大小写
text
(?i)bluray => BluRay
(?i)hdr10\+ => HDR10+与识别词、捕获词的区别
| 词表 | 作用阶段 | 作用对象 | 是否能改季集识别 |
|---|---|---|---|
| 自定义识别词 | 名称解析前 | 原始标题 | 能(偏移 / 指定 TMDB) |
| 自定义捕获词 | 名称解析中 | 识别后的标题 | 不能 |
| 渲染后处理词 | 模板渲染后 | 完整渲染路径 | 不能 |
关键区别:前两者在识别阶段动"素材",渲染后处理词在渲染阶段动"成品"。因此:
- 渲染后处理词不影响 TMDB 匹配、季集判定、分类结果。
- 渲染后处理词可以用来"修最终目录名",但也因此更容易误伤。
完整配置示例
text
# 修季号
Season ([0-9])(/|$) => Season 0\1\2
第([0-9]+)季 => Season \1
第([0-9]+)集 => E\1
# 来源统一
WEB DL => WEB-DL
WEBRip => WEB-DL
# 清理空字段符号
\.- => -
-\. => -
# 删除成对括号内容与噪声
\s*\[.*?\] =>
\s*【.*?】 =>
(?i)\.(sample|trailer)$校验与排错
| 现象 | 原因 | 处理 |
|---|---|---|
| 报「疑似替换词但 => 两边缺少空格」 | 写成了 A=>B | 改成 A => B |
| 报「被替换词为空」 | 只写了 => 内容 | 补上左侧正则 |
| 目录名被误改 | 规则命中了目录部分 | 让正则更具体,或改用捕获词 + 模板 |
| 替换后仍有连续的点 | 正则没匹配到 | 用「立即校验」确认语法;收尾压缩只处理连续符号 |
| 规则没生效 | 模板没有渲染出该内容 | 先用「预览结果」确认渲染结果里到底有什么 |
| 大小写没匹配上 | 默认区分大小写 | 正则开头加 (?i) |
使用流程
- 在渲染后处理词文本框按行填写规则。
- 点「立即校验」检查语法。
- 点「保存后处理词」写盘。
- 整理时按模板渲染出路径后,再逐条应用这些规则并做分隔符清理。
- 用「预览结果」核对最终目录与文件名,确认没有误伤目录。
常见问题
后处理词会影响识别结果吗?
TIP
不会。它只作用于渲染后的文件名与目录名;识别阶段的替换请用自定义识别词。
为什么处理后还是有多余的点或横线?
TIP
处理完所有规则后会自动把连续的 .、-、空格压缩为一个,若仍有残留,通常是正则没匹配到,可先用「立即校验」确认语法。
=> 两侧必须带空格吗?
TIP
是。缺少空格的写法会被判为语法错误,正确格式是 被替换词 => 替换词;只写行尾 => 表示替换为空。
可以修改季号吗?
TIP
可以修文件名/目录上的季号写法(例如 Season 1 → Season 01),但不能修正季集识别结果——识别错误请用识别词的偏移或指定 TMDB。
能删除目录名里的内容吗?
TIP
能。因为作用域是完整渲染路径,针对目录串写的规则同样生效;但也正因为如此,写规则前先用「预览结果」核对。
收尾压缩规则可以关掉吗?
TIP
不需要关。压缩只作用于连续符号,正常文件名不会受影响;如果你确实需要保留连续符号,请用渲染后处理词之外的方式处理。