求两句正则表达式语句,用于解析字幕文件的。解决思路
求两句正则表达式语句,用于解析字幕文件的。
我需要得到字母里面的时间和text语句,“00:14:59,752 --> 00:15:01,066” , “I'll be honest,” ,要这两个。我用的正则库是ATL的CAtlRegExp。
第一类是srt字幕,
第二类是ass字幕:
------解决方案--------------------
因为没做过, ATL方面的正则,所以进来接分,另外对lz这种自己解决,并放出解决方案的行为表示赞赏,我是这里的版主,正在看又什么可以奖赏一下lz。
------解决方案--------------------
支持下楼主,前几天刚做了ASS的解析
不过是在C#里面,而且没用正则,主要原因是不会正则
------解决方案--------------------
简单看了一下你的第一个正则,在判断时间格式方面还是不够严谨,
抛砖引玉:
{[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]{3}} --> {[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]{3}}
------解决方案--------------------
这是我对第一个正则的修改:
{{\\z}\r\n{[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]} --> {[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]}\r\n{[^\r\n\\z]+}\r\n}
------解决方案--------------------
我发现了点问题,SRT字幕解析的这条语句无法找到字幕为 空行 或者 多行的情况。
------解决方案--------------------
你要的哪些数据是通过正则表达式【提取】的吗?
我以前就想用这个东西,分析json串,提取需要的东西,但不知道怎么弄,也不知道能不能弄。。。
------解决方案--------------------
Try:
{{\\z}\r\n{[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]} --> {[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]}{\r\n{[^\r\n\\z]*}}+}
------解决方案--------------------
接楼上
稍微修改
{{\\z}\r\n{[01]?[0-9]
------解决方案--------------------
2[0-3]}:{[0-5]?[0-9]}:{[0-5]?[0-9]},{[0-9][0-9][0-9]} --> {[01]?[0-9]
------解决方案--------------------
2[0-3]}:{[0-5]?[0-9]}:{[0-5]?[0-9]},{[0-9][0-9][0-9]}{\r\n{[^\r\n\\z]*}}+}
我需要得到字母里面的时间和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
------解决方案--------------------
因为没做过, ATL方面的正则,所以进来接分,另外对lz这种自己解决,并放出解决方案的行为表示赞赏,我是这里的版主,正在看又什么可以奖赏一下lz。
------解决方案--------------------
支持下楼主,前几天刚做了ASS的解析
不过是在C#里面,而且没用正则,主要原因是不会正则
------解决方案--------------------
简单看了一下你的第一个正则,在判断时间格式方面还是不够严谨,
抛砖引玉:
{[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]{3}} --> {[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]{3}}
------解决方案--------------------
这是我对第一个正则的修改:
{{\\z}\r\n{[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]} --> {[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]}\r\n{[^\r\n\\z]+}\r\n}
------解决方案--------------------
我发现了点问题,SRT字幕解析的这条语句无法找到字幕为 空行 或者 多行的情况。
------解决方案--------------------
你要的哪些数据是通过正则表达式【提取】的吗?
我以前就想用这个东西,分析json串,提取需要的东西,但不知道怎么弄,也不知道能不能弄。。。
------解决方案--------------------
Try:
{{\\z}\r\n{[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]} --> {[01][0-9]
------解决方案--------------------
2[0-3]}:{[0-5][0-9]}:{[0-5][0-9]},{[0-9]0-9]0-9]}{\r\n{[^\r\n\\z]*}}+}
------解决方案--------------------
接楼上
稍微修改
{{\\z}\r\n{[01]?[0-9]
------解决方案--------------------
2[0-3]}:{[0-5]?[0-9]}:{[0-5]?[0-9]},{[0-9][0-9][0-9]} --> {[01]?[0-9]
------解决方案--------------------
2[0-3]}:{[0-5]?[0-9]}:{[0-5]?[0-9]},{[0-9][0-9][0-9]}{\r\n{[^\r\n\\z]*}}+}