深色模式
渲染后处理词
渲染后处理词在重命名模板渲染完成后执行,用来清理最终输出路径。它不会影响标题识别、TMDB 搜索、季集识别、制作组识别和自定义捕获词,只处理已经生成的最终文件名或路径。
执行位置:
text
识别结果 -> 重命名模板渲染 -> 渲染后处理词 -> 最终目标路径适合处理:
- 模板字段为空导致的多余符号。
- 大小写不统一。
- 连续点号、连续短横线、连续空格。
- 最终文件名里不想保留的固定文本。
- 把渲染出来的某些片段统一成自己喜欢的格式。
基本规则
- 一行一条规则。
#开头为注释。- 支持正则表达式。
- 默认区分大小写。
- 忽略大小写请使用
(?i)。 - 替换箭头必须写成
=>,两边都有空格。 - 只写词语时表示删除匹配内容。
- 替换完成后,NanShare 会自动清理连续的点号、短横线和空格。
自动清理包括:
text
.. -> .
-- -> -
多个空格 -> 单个空格删除规则
只写一个词或正则,匹配后会从最终路径中删除。
text
PROPER
REPACK
LIMITED示例:
text
输入:Movie.2024.PROPER.2160p-GROUP.mkv
规则:PROPER
输出:Movie.2024.2160p-GROUP.mkv正则删除:
text
(?i)\bPROPER\b
(?i)\bREPACK\b
\[.*?\]
【.*?】如果只想删除最终文件名中的这些词,而不想影响 TMDB 识别,就应该写在渲染后处理词,而不是自定义识别词。
替换规则
格式:
text
被替换词 => 替换词示例:
text
BluRay Remux => BluRay.REMUX
(?i)\bremux\b => REMUX
WEB DL => WEB-DL
DDP 5.1 => DDP5.1大小写统一:
text
(?i)\bweb-dl\b => WEB-DL
(?i)\bwebrip\b => WEBRip
(?i)\bbluray\b => BluRay
(?i)\bremux\b => REMUX符号统一:
text
WEB DL => WEB-DL
BluRay Remux => BluRay.REMUX
DTS HD MA => DTS-HD MA
DDP 5.1 => DDP5.1捕获组替换
渲染后处理词使用正则替换,支持捕获组引用。
text
S([0-9])E([0-9]) => S0\1E0\2
第([0-9]+)季 => Season \1
第([0-9]+)集 => E\1示例:
text
输入:Show.S1E3.WEB-DL.mkv
规则:S([0-9])E([0-9]) => S0\1E0\2
输出:Show.S01E03.WEB-DL.mkv再如:
text
输入:剧名.第2季.第3集.mkv
规则:
第([0-9]+)季 => Season \1
第([0-9]+)集 => E\1
输出:剧名.Season 2.E3.mkv如果你是要影响识别到的季集,不要用渲染后处理词;要用 自定义识别词。
清理空字段符号
模板里某些字段为空时,可能出现多余符号:
text
Movie.2024...WEB-DL..2160p--GROUP.mkv可以配置:
text
\.{2,} => .
-{2,} => -
\s{2,} =>
\.- => -
-\. => -NanShare 已经会自动清理连续点号、短横线和空格,但你仍然可以加更细的规则处理边界情况。
常见组合:
text
\.{2,} => .
-{2,} => -
\s+- => -
-\s+ => -
\.- => -
-\. => -路径片段处理
渲染后处理词作用于完整渲染结果,可能包含目录和文件名。
例如模板输出:
text
剧名 (2024) {tmdbid-123}/Season 1/剧名.2024.S01E01.WEB DL.2160p.mkv规则:
text
WEB DL => WEB-DL
Season 1 => Season 01输出:
text
剧名 (2024) {tmdbid-123}/Season 01/剧名.2024.S01E01.WEB-DL.2160p.mkv因为它处理完整路径,所以写规则时要小心不要误伤目录名。
和自定义识别词的区别
自定义识别词处理原始标题,会影响识别:
text
第二季 => S02渲染后处理词处理最终路径,不影响识别:
text
Season 1 => Season 01举例:
text
原始文件名:庆余年 第二季 E01.mkv如果希望 NanShare 识别成第二季,应该写自定义识别词:
text
第二季 => S02如果识别已经正确,只想把最终目录 Season 1 改成 Season 01,写渲染后处理词:
text
Season ([0-9])(/|$) => Season 0\1\2和自定义捕获词的区别
自定义捕获词用于提取变量:
text
(?i)(IMAX|REMUX) >> editionTag模板里使用:
jinja
{{ editionTag }}渲染后处理词用于处理渲染后的结果:
text
IMAX.REMUX => IMAX-REMUX如果你想“保留某个信息作为模板字段”,用捕获词。如果你只想“最终文件名长什么样”,用渲染后处理词。
完整配置示例
text
# ===== 大小写统一 =====
(?i)\bweb-dl\b => WEB-DL
(?i)\bwebrip\b => WEBRip
(?i)\bbluray\b => BluRay
(?i)\bremux\b => REMUX
# ===== 常见格式统一 =====
WEB DL => WEB-DL
BluRay Remux => BluRay.REMUX
DTS HD MA => DTS-HD MA
DDP 5.1 => DDP5.1
# ===== 删除不想出现在最终文件名里的词 =====
(?i)\bPROPER\b
(?i)\bREPACK\b
(?i)\bLIMITED\b
# ===== 清理符号 =====
\.{2,} => .
-{2,} => -
\s{2,} =>
\.- => -
-\. => -
# ===== 季目录补零 =====
Season ([0-9])(/|$) => Season 0\1\2输出示例
输入渲染结果:
text
The Last of Us (2023) {tmdbid-100088}/Season 1/The.Last.of.Us.2023.S01E03.web-dl..2160p--NTb.mkv规则:
text
(?i)\bweb-dl\b => WEB-DL
Season ([0-9])(/|$) => Season 0\1\2
\.{2,} => .
-{2,} => -输出:
text
The Last of Us (2023) {tmdbid-100088}/Season 01/The.Last.of.Us.2023.S01E03.WEB-DL.2160p-NTb.mkv校验与排错
后台会对替换左侧正则做编译校验。
错误示例:
text
(?i)\bremux\b => REMUX这条是正确的。
真正常见的错误是箭头缺少空格:
text
(?i)\bremux\b=>REMUX正确写法:
text
(?i)\bremux\b => REMUX另一个常见错误是正则括号没有闭合:
text
Season ([0-9] => Season 0\1正确:
text
Season ([0-9]) => Season 0\1FAQ
渲染后处理词会影响 TMDB 识别吗
不会。它只处理模板渲染后的最终路径。
可以删除目录名里的内容吗
可以,因为处理对象是完整渲染结果。但要谨慎,规则会同时作用于目录和文件名。
可以替换成空吗
可以。
text
PROPER =>也可以直接写:
text
PROPER两者都是删除。
为什么我的规则没生效
检查:
- 是否写在渲染后处理词里,而不是识别词或捕获词。
=>两边是否有空格。- 正则大小写是否匹配,必要时加
(?i)。 - 规则匹配的是最终渲染路径,不是原始文件名。
- 是否被前面的规则已经改掉了文本。
可以用它修复季集识别吗
不建议。季集识别应该在解析前修正,用自定义识别词。渲染后处理词只适合修最终输出样式。