如何使用正则表达式,删除字幕文件中每行的时间。

如何使用正则表达式,删除字幕文件中每一行最左边的时间。就是类似这样的 00:02.30,0:00:05.44 The history of our life 。
因为是时间轴这样的,每行前边这些00:02.30,0:00:05.44 都不可能是一样,所以简单的替换是没办法删掉的,想到了正则表达式,可是试了几次也试不出来,要删除整个文档里每一行前面的00:02.30,0:00:05.44 这些时间点,只留下右边的文字。我用的是EditPlus,UE这些。
非常的感谢“天空的蓝”、“ fennng”、“ jatvsjat”。
天空的蓝从理论角度解决了我的问题,谢谢!
jatvsjat则从实际操作方面给了我帮助,非常感谢!

有个办法的:

最简便的方法,你可以用Dreamweaver

来查找替换:选择正则表达式的模式
我写的 这个:\d{2}:\d{2}\.\d{2},\d{1,2}:\d{2}:\d{2}\.\d{2}

已经通过,你可以直接替换了哈!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-23
要删除的内容正则表达式是
[0-9]{2}:[0-9]{2}.[0-9]{2},[0-9]{1}:[0-9]{2}:[0-9]{2}.[0-9]{2}

EditPlus,UE只是一个IDE程序,具体的实现需要你自己用代码写出来。
如果你懂编程。或者你只会改别人的程序。。没办法放弃吧还是。
关键代码如下,是用JavaScript举例。

直接按行读歌词文件,然后判断这一行的长度
//以上读取歌词文件代码省略
if(str.length>19&&str.substr(0,19).match(/^[0-9]{2}:[0-9]{2}.[0-9]{2},[0-9]{1}:[0-9]{2}:[0-9]{2}.[0-9]{2}$/)){
//写到一个新的文件,str.substr(19,str.length);
}
第2个回答  2010-08-23
我记得UE的正则不是PERL, 所以不懂怎么写.

editplus的正则不知道是不是perl 正则. 应该是.

正则是这样写的...

天空逝去的蓝 的正则写得是正确的 perl 正则.有一个偷懒的方法

这样一个正则就可以做到

^.*?空格

把空格两个字换成真正的空格就行了.

因为你的时间段后面一定会跟个空格,所以以空格为切分点.
相似回答