正在学习Qt,从油管的playlist?list=PLPeSWEML8bFV8lzTJ_oORLUlfugzuQ5yF下载了17个视频,还有配套的文字资料(http://tutorialcoding.com/qt/index.html),非常适合入门!
需要将视频目录内容整理一下。
视频列表文件内容
观察每条内容的格式
1
6:31
Qt Tutorial, Introduction
Progenitor Softworks
2
10:34
Qt Tutorial: Unit 1, Hello World!
Progenitor Softworks
3
6:15
Qt Tutorial: Unit 2, PushMe!
Progenitor Softworks
序号
空行
视频时长
视频文件名
出品人
希望最终获取的内容格式是:
序号??? 视频文件名?? 视频时长
使用NotePad++ 正则:
解释:
查找目标:^([\d]{1,2})(\r\n\r\n)(\d{1,2}:\d{1,2})(\r\n)(.*)(\r\n)(.*)$
^代表行开始,后接7组内容(1)(2)(3)(4)(5)(6)(7),每组要查找的内容都以(、)包含。
其中(2)、(4)、(6)组内容为(\r\n\r\n)、(\r\n),意为查找回车(\r)换行(\n)。
(1)组内容为([\d]{1,2}),意为匹配最多两位数字(.*),且(1)组后接两个回车换行符号(2)。
(3)组内容为(\d{1,2}:\d{1,2}),意为匹配mm:ss的时间格式,(3)组后接1个回车换行符(4)。
(5)组内容为(.*),意为任意长度的字符,匹配视频文件名(包含空格),(5)组后接1个回车换行符(6)。
(7)组内容为(.*),意为任意长度的字符,匹配Progenitor Softworks,(7)组后接$,代表行结束,实际就是行尾的回车换行符。
替换为:$1\t$5\t$3
保留匹配内容的3组内容:(1)序号、(5)视频文件名、(3)视频时长,并按指定顺序显示,而且内容之间使用tab(\t)分隔。
前后结果如下(左侧是原始内容,右侧是处理过后内容):
原文地址:http://blog.51cto.com/lioncn/2104604