qiangbro / TS-OneKeyProcess

简化对TS片源的初步处理操作,实现无人值守一键完成对批量TS片源的初步处理。
0 stars 0 forks source link

利用正则表达式捕获片源文件名中的数字,用于在avs文件名中引用 #5

Closed qiangbro closed 8 years ago

qiangbro commented 8 years ago

featrue request

功能需求:捕获片源文件名中的一些信息,例如:节目时间、剧集编号、小标题 将捕获到的内容按需填到avs文件名中。

例如: 20160822_0730_NHKBSプレミアム 連続テレビ小説 とと姉ちゃん(121)「常子、子供たちの面倒をみる」[解][字][デ].ts

尝试去捕获其中的: 节目编号:121 小标题:常子、子供たちの面倒をみる 节目日期:20160822

将捕获的内容填到avs文件名:20160822.当家姐姐.EP121.「常子、子供たちの面倒をみる」.avs

qiangbro commented 8 years ago

既然这是个java项目,java从7开始支持带有命名捕获组的正则表达式。

实现本功能的核心思路: 匹配前将文件名全角数字转为半角数字, 使用命名的捕获组进行捕获, 将捕获的内容根据avs文件名中的{{}}标记来替换上去,这样就可以实现本功能

qiangbro commented 8 years ago

用户接口设计方案

用--filename-match定义regex:

--filename-match=^(?<date>\d{8}).*((?<ep>\d+))「(?<title>.*)」.*

生成avs时引用匹配的内容

--gen-avs=preview::preview.tpl.avs::[小档]{{date}}.当家姐姐.EP{{ep}}.「{{title}}」.avs
qiangbro commented 8 years ago

v1.4.7 已实现