Skip to content

🏷️ 自定义集数匹配规则

当 ANI-RSS 无法自动识别某些番剧的集数时,你可以使用正则表达式 (Regular Expression) 来手动指定集数的提取规则。

🎓 正则表达式速成

不需要精通编程,只需掌握以下几个核心符号即可应对绝大多数情况:

符号含义示例匹配结果
\d数字 (0-9)\d1
+一个或多个\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
  • 解析:
    1. \[(\d+)] 匹配第一个 [2023] (第 1 组)
    2. \[(\d+)( ?END)?] 匹配紧接着的 [122] (第 2 组,同时也兼容了可能存在的 END 标记)
    3. 正则匹配组 2 告诉程序:使用第 2 个括号里捕获的内容作为集数。

🛠️ 在线测试工具

如果你不确定写的正则是否正确,可以使用在线工具进行测试:

⚠️ 注意事项

编写正则时,请尽量包含集数周边的特征字符(如前后的 []-EP 等),以避免错误匹配到分辨率(如 1080)、年份(如 2024)或 CRC 校验码(如 A1B2)。

基于 GPL-2.0 许可发布