mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-12 07:10:44 +08:00
修复剧集编号提取时某些技术规格未被正确过滤的问题
- 修复连接符正则表达式,移除对连接符后非数字字符的要求 - 添加无空格帧率格式过滤(如 60fps、30fps 等) - 修复分辨率过滤正则表达式,移除单词边界限制 - 同步更新前端 JavaScript 排序逻辑,保持前后端一致性 修复问题: - 08_60fps.mp4 现在正确识别为第 8 集而不是 60 - 10_1080p.mkv 现在正确识别为第 10 集而不是 1080 - 提高技术规格过滤的准确性和覆盖率
This commit is contained in:
parent
bdaea4d619
commit
be5773fb84
@ -35,7 +35,7 @@ function sortFileByName(file) {
|
||||
try {
|
||||
const techSpecs = [
|
||||
// 分辨率相关(限定常见p档)
|
||||
/\b(?:240|360|480|540|720|900|960|1080|1440|2160|4320)[pP]\b/g,
|
||||
/(?:240|360|480|540|720|900|960|1080|1440|2160|4320)[pP]/g,
|
||||
// 常见分辨率 WxH(白名单)
|
||||
/\b(?:640x360|640x480|720x480|720x576|854x480|960x540|1024x576|1280x720|1280x800|1280x960|1366x768|1440x900|1600x900|1920x1080|2560x1080|2560x1440|3440x1440|3840x1600|3840x2160|4096x2160|7680x4320)\b/g,
|
||||
/(?<!\d)[248]\s*[Kk](?!\d)/g, // 2K/4K/8K
|
||||
@ -58,6 +58,8 @@ function sortFileByName(file) {
|
||||
/\b(?:8|10|12)\s*[Bb][Ii][Tt]s?\b/g,
|
||||
// 严格限定常见帧率,避免将 "07.30FPS" 视为帧率从而连带清除集数
|
||||
/\b(?:23\.976|29\.97|59\.94|24|25|30|50|60|90|120)\s*[Ff][Pp][Ss]\b/g,
|
||||
// 无空格的帧率格式(如 60fps, 30fps 等)
|
||||
/(?:23\.976|29\.97|59\.94|24|25|30|50|60|90|120)[Ff][Pp][Ss]/g,
|
||||
|
||||
// 频率相关(白名单,含空格/无空格)
|
||||
/\b(?:100|144|200|240|400|800)\s*[Mm][Hh][Zz]\b/g,
|
||||
|
||||
@ -507,7 +507,7 @@ def extract_episode_number(filename, episode_patterns=None, config_data=None):
|
||||
filename_without_dates = file_name_without_ext
|
||||
tech_spec_patterns = [
|
||||
# 分辨率相关(限定常见p档)
|
||||
r'\b(?:240|360|480|540|720|900|960|1080|1440|2160|4320)[pP]\b',
|
||||
r'(?:240|360|480|540|720|900|960|1080|1440|2160|4320)[pP]',
|
||||
# 常见分辨率 WxH(白名单)
|
||||
r'\b(?:640x360|640x480|720x480|720x576|854x480|960x540|1024x576|1280x720|1280x800|1280x960|1366x768|1440x900|1600x900|1920x1080|2560x1080|2560x1440|3440x1440|3840x1600|3840x2160|4096x2160|7680x4320)\b',
|
||||
r'(?<!\d)[248]\s*[Kk](?!\d)', # 匹配 2K/4K/8K
|
||||
@ -530,6 +530,8 @@ def extract_episode_number(filename, episode_patterns=None, config_data=None):
|
||||
r'\b(?:8|10|12)\s*[Bb][Ii][Tt]s?\b',
|
||||
# 严格限定常见帧率,避免将 "07.30FPS" 视为帧率从而连带清除集数
|
||||
r'\b(?:23\.976|29\.97|59\.94|24|25|30|50|60|90|120)\s*[Ff][Pp][Ss]\b',
|
||||
# 无空格的帧率格式(如 60fps, 30fps 等)
|
||||
r'(?:23\.976|29\.97|59\.94|24|25|30|50|60|90|120)[Ff][Pp][Ss]',
|
||||
|
||||
# 频率相关
|
||||
# 频率相关(白名单,含空格/无空格)
|
||||
@ -712,8 +714,8 @@ def extract_episode_number(filename, episode_patterns=None, config_data=None):
|
||||
r'([一二三四五六七八九十百千万零两]+)期',
|
||||
r'([一二三四五六七八九十百千万零两]+)话',
|
||||
# 先匹配"前方有分隔符"的数字,避免后一个规则优先命中单字符
|
||||
r'[- _\s\.]([0-9]+)(?:[^0-9]|$)',
|
||||
r'(?:^|[^0-9])(\d+)(?=[- _\s\.][^0-9])',
|
||||
r'[- _\s\.]([0-9]+)',
|
||||
r'(?:^|[^0-9])(\d+)(?=[- _\s\.])',
|
||||
# 新增:文件名起始纯数字后接非数字(如 1094(1).mp4)
|
||||
r'^(\d+)(?=\D)'
|
||||
]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user