求两句正则表达式语句,用于解析字幕文件的。

神-气 2013-05-23 03:52:54
加精
我需要得到字母里面的时间和text语句,“00:14:59,752 --> 00:15:01,066” , “I'll be honest,” ,要这两个。我用的正则库是ATL的CAtlRegExp。

第一类是srt字幕,

247
00:14:53,256 --> 00:14:56,979


248
00:14:59,752 --> 00:15:01,066
I'll be honest,

249
00:15:01,066 --> 00:15:04,497
there wasn't a whole lotta crime fighting in those first few weeks.


第二类是ass字幕:

Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,00:00:39.45,00:00:41.61,*Default,,0000,0000,0000,,(北蒙古)\N
Dialogue: 0,00:01:39.93,00:01:43.59,*Default,,0000,0000,0000,,打发保姆,爸爸回家了\N
...全文
3200 71 打赏 收藏 转发到动态 举报
写回复
用AI写文章
71 条回复
切换为时间正序
请发表友善的回复…
发表回复
ANvDbg-Capital 2014-08-03
  • 打赏
  • 举报
回复
以后用到的时候回来学习,MARK 感谢楼主
tenchimasaki 2014-05-21
  • 打赏
  • 举报
回复
表达式: 多行模式 (?(^\s*\d+:\d+:\d+[\.,]\d+\s*-->\s*\d+:\d+:\d+[\.,]\d+\s*$\n\n)^\s*\d+:\d+:\d+[\.,]\d+\s*-->\s*\d+:\d+:\d+[\.,]\d+\s*$\n\n|^\s*\d+:\d+:\d+[\.,]\d+\s*-->\s*\d+:\d+:\d+[\.,]\d+\s*$(\n[^\n]+)*) 自己测试可以匹配 单行字幕, 多行字幕, 空行字幕 字幕之间以2个空行为分隔 时间格式未做精确匹配处理, 我自己有时间处理方法 所以放宽对时间的匹配条件
随风随恨 2013-05-31
  • 打赏
  • 举报
回复
mark学习
_Xanadu 2013-05-30
  • 打赏
  • 举报
回复
正则好是好 就是伤脑细胞~
gongxk_ok 2013-05-30
  • 打赏
  • 举报
回复
强大的楼主 加油吧
看着捉急 2013-05-29
  • 打赏
  • 举报
回复
好像很厉害的样子
神-气 2013-05-29
  • 打赏
  • 举报
回复
Help ! {[^\r\n]+\r\n}{[^\r\n]+\r\n}... 我想匹配多个{[^\r\n]+\r\n} ,并得到结果怎么匹配啊 ? {[^\r\n]+\r\n}*,{[^\r\n]+\r\n}+能匹配成功,但是结果只有一个; {[^\r\n]+\r\n}{0,} 匹配失败.
SIMPERED 2013-05-29
  • 打赏
  • 举报
回复
u010881840 2013-05-29
  • 打赏
  • 举报
回复
good,thanks
神-气 2013-05-29
  • 打赏
  • 举报
回复
引用 59 楼 ADF1230 的回复:
Help ! {[^\r\n]+\r\n}{[^\r\n]+\r\n}... 我想匹配多个{[^\r\n]+\r\n} ,并得到结果怎么匹配啊 ? {[^\r\n]+\r\n}*,{[^\r\n]+\r\n}+能匹配成功,但是结果只有一个; {[^\r\n]+\r\n}{0,} 匹配失败.
我用一种很不优雅的方式解决了。 我定义最多匹配3个,然后 {[^\r\n]+\r\n}?{[^\r\n]+\r\n}?{[^\r\n]+\r\n}?{[^\r\n]+\r\n}* 然后结果中取出前3个就可以了。 但是这样没法取得第5个,(假如有的话),也没法确定到底有多少个匹配的。
u010862413 2013-05-28
  • 打赏
  • 举报
回复
何哀何欢 2013-05-28
  • 打赏
  • 举报
回复
引用 56 楼 ADF1230 的回复:
[quote=引用 54 楼 williamx 的回复:] [0-9][0-9]:[0-5][0-9]:[0-5][0-9], \d+:\d+:\d+, 即可
这些数字是有规律的,不是任意数字.[/quote] 按照任意数字处理,结果是没有区别的。
神-气 2013-05-28
  • 打赏
  • 举报
回复
引用 54 楼 williamx 的回复:
[0-9][0-9]:[0-5][0-9]:[0-5][0-9], \d+:\d+:\d+, 即可
这些数字是有规律的,不是任意数字.
何哀何欢 2013-05-28
  • 打赏
  • 举报
回复
[0-9][0-9]:[0-5][0-9]:[0-5][0-9], \d+:\d+:\d+, 即可
u010852332 2013-05-27
  • 打赏
  • 举报
回复
free4a 2013-05-27
  • 打赏
  • 举报
回复
借贴: winRT:win32?汇编?win32+汇编? 如果win32不包含winRT,那是否应该忘记win32,学winRT?
zhengjun 2013-05-27
  • 打赏
  • 举报
回复
还有没大神路过给看看呢
ZheJiuDuiLiao 2013-05-26
  • 打赏
  • 举报
回复
路过帮顶
hong10001 2013-05-25
  • 打赏
  • 举报
回复
苦苦的潜行者 2013-05-25
  • 打赏
  • 举报
回复
最喜欢正则了。
加载更多回复(37)

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧