feat: 增强LINE和WhatsApp解析器兼容格式

This commit is contained in:
digua
2026-02-13 17:10:16 +08:00
committed by digua
parent e617d9bcdd
commit 2a925aef29
2 changed files with 17 additions and 8 deletions
@@ -50,7 +50,17 @@ export const feature: FormatFeature = {
/^(?:\[LINE\] )?Chat history (?:with|in) /m,
// Tab 分隔的消息格式(支持多种时间格式)
/^((?:上午|下午|午前|午後)?\d{1,2}:\d{2}(?:[AaPp][Mm])?)\t[^\t\n]+\t/m,
// 空格分隔的消息格式(部分 LINE 导出)
/^((?:上午|下午|午前|午後)?\d{1,2}:\d{2}(?:[AaPp][Mm])?) [^\s]+ /m,
// LINE 独有的日期行格式:YYYY.MM.DD DayOfWeek(英文星期全称)
/^\d{4}\.\d{2}\.\d{2}\s+(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)/m,
// LINE 日文/中文日期行格式:YYYY/M/D(曜日)
/^\d{4}\/\d{1,2}\/\d{1,2}[(][月火水木金土日]/m,
// LINE 中文日期行格式:YYYY/M/D周X
/^\d{4}\/\d{1,2}\/\d{1,2}周/m,
],
// 文件名特征:[LINE] 出现在文件名中
filename: [/\[LINE\]/i],
},
}
@@ -57,17 +57,16 @@ export const feature: FormatFeature = {
extensions: ['.txt'],
signatures: {
// WhatsApp 导出文件的特征(中文/英文)
// 注意:仅保留 WhatsApp 独有的特征,避免误匹配其他 TXT 格式(如 LINE)
head: [
/消息和通话已进行端到端加密/, // 中文加密提示
/Messages and calls are end-to-end encrypted/i, // 英文加密提示
/WhatsApp/i, // 通用 WhatsApp 关键词
/你发送给自己的消息已进行端到端加密/, // 中文自己对话提示
/有人添加了你/, // 中文群聊添加提示
/\d{4}\/\d{1,2}\/\d{1,2} \d{1,2}:\d{2} - /, // 消息行格式特征(无方括号)
/\[\d{1,4}\/\d{1,2}\/\d{2,4},? \d{1,2}:\d{2}:\d{2}\] /, // 消息行格式特征(方括号,支持 2/4 位年份)
/消息和通话已进行端到端加密/, // 中文加密提示WhatsApp 独有)
/Messages and calls are end-to-end encrypted/i, // 英文加密提示WhatsApp 独有)
/你发送给自己的消息已进行端到端加密/, // 中文自己对话提示(WhatsApp 独有)
/\d{4}\/\d{1,2}\/\d{1,2} \d{1,2}:\d{2} - /, // 消息行格式特征(无方括号,含 " - " 分隔符,WhatsApp 独有)
/\[\d{1,4}\/\d{1,2}\/\d{2,4},? \d{1,2}:\d{2}:\d{2}\] /, // 消息行格式特征(方括号 + 秒级时间戳,WhatsApp 独有)
],
// 文件名特征:与xxx的 WhatsApp 聊天.txt
filename: [/^与.+的\s*WhatsApp\s*聊天\.txt$/i],
filename: [/^与.+的\s*WhatsApp\s*聊天\.txt$/i, /WhatsApp/i],
},
}