🏷️ 自定义集数匹配规则
当 ANI-RSS 无法自动识别某些番剧的集数时,你可以使用正则表达式 (Regular Expression) 来手动指定集数的提取规则。
🎓 正则表达式速成
不需要精通编程,只需掌握以下几个核心符号即可应对绝大多数情况:
| 符号 | 含义 | 示例 | 匹配结果 |
|---|---|---|---|
\d | 数字 (0-9) | \d | 1 |
+ | 一个或多个 | \d+ | 1, 12, 01 |
. | 任意字符 (需转义) | \. | . (字面意义的点) |
? | 可有可无 (0次或1次) | v\d? | v, v2 |
() | 捕获组 | (\d+) | 提取括号内的内容 |
[] | 字符集合 (需转义) | \[ | [ (字面意义的中括号) |
💡 万能公式
\d+(\.\d+)? 这是最常用的组合,表示 "整数" 或 "带小数的数字"。
- 匹配:
01,12,1.5,12.5 - 建议在绝大多数场景下直接使用这个组合来匹配集数部分。
📝 常见场景与示例
1. 标准分隔符
文件名中集数由 - 或空格分隔。
- 标题:
[LoliHouse] Fumetsu no Anata e S3 - 01 [WebRip 1080p] - 正则:
- (\d+(\.\d+)?) - 说明: 匹配
-后的数字。
2. 方括号包裹 []
集数被 [ 和 ] 包裹。
- 标题:
[雪飘工作室][公主协奏管弦乐][01][简繁外挂] - 正则:
\[(\d+(\.\d+)?)\] - 说明:
\[和\]匹配字面的中括号,中间捕获数字。
3. 特殊符号分隔
使用了 ★、_ 等特殊符号。
- 标题:
六四位元字幕组★跨越种族与你相恋★01★1920x1080 - 正则:
★(\d+(\.\d+)?)★
4. 带有前缀 EP, OVA, SP, 第x话
标题:
[Example] Anime Title - EP01 [1080p]正则:
EP(\d+(\.\d+)?)标题:
[Example] Anime Title - 第01话 [1080p]正则:
第(\d+(\.\d+)?)话标题:
[Prejudice] Watanare - OVA01 [1080P]正则:
OVA(\d+(\.\d+)?)
🧩 进阶:多数字混淆处理 (指定捕获组)
有些文件名中包含多个数字(如年份、分辨率),导致简单的正则可能会匹配错误。此时可以使用 捕获组索引 来精确指定使用第几个匹配项。
语法: 正则, 索引号 (注意中间有逗号)
案例:
- 标题:
[GM-Team][国漫][师兄啊师兄][2023][122][GB][4K] - 问题: 如果只用
\[\d+],可能会错误匹配到[2023]。 - 解决: 我们需要构造一个能同时匹配年份和集数的正则,然后告诉程序取第二个括号里的内容。
- 正则:
\[(\d+)]\[(\d+)( ?END)?] - 正则匹配组:
2 - 解析:
\[(\d+)]匹配第一个[2023](第 1 组)\[(\d+)( ?END)?]匹配紧接着的[122](第 2 组,同时也兼容了可能存在的END标记)- 正则匹配组
2告诉程序:使用第 2 个括号里捕获的内容作为集数。
🛠️ 在线测试工具
如果你不确定写的正则是否正确,可以使用在线工具进行测试:
⚠️ 注意事项
编写正则时,请尽量包含集数周边的特征字符(如前后的 []、-、EP 等),以避免错误匹配到分辨率(如 1080)、年份(如 2024)或 CRC 校验码(如 A1B2)。