我有一个电影的字幕文件,如下所示:
2
00:00:44,687 --> 00:00:46,513
Let's begin.
3
00:01:01,115 --> 00:01:02,975
Very good.
4
00:01:05,965 --> 00:01:08,110
What was your wife's name?
5
00:01:08,943 --> 00:01:12,366
- Mary.
- Mary, alright.
6
00:01:15,665 --> 00:01:18,938
He seeks the spirit
of Mary Browning.
7
00:01:20,446 --> 00:01:24,665
Mary, we invite you
into our circle.
8
00:01:28,776 --> 00:01:32,834
Mary Browning,
we invite you into our circle.
....
现在我想只匹配实际的字幕文本内容,如
- Mary.
- Mary, alright.
或者
He seeks the spirit
of Mary Browning.
包括可能包含的特殊字符,数字和/或换行符。但我不想匹配时间字符串和序列号。
所以基本上我想把所有包含数字和特殊字符的行只用字母匹配,而不是在时间字符串和序列号等其他行上单独使用数字和特殊字符。
如何匹配标记<font color="#FFFF00">[subtitle text any...]</font>
并将其添加到我与Regex帮助相匹配的每个字幕?
如下所示:
<font color="#FFFF00">He seeks the spirit
of Mary Browning.</font>
答案 0 :(得分:0)
嗯,我只是仔细检查和分析,找出匹配所有字幕文字行的关键。
首先从任何字幕(.srt
)文件开始,我必须删除不必要的“换行”字符,即\r
。
Find: \r+
Replace with:
(没有,即空字符)
然后我必须匹配那些不以数字&amp;开头的行。换行(即空白行),然后用自己的文本替换它们,文本用<font>
标记包裹,颜色值如下:
Find: ^([^\d^\n].*)
Replace with: <font color="#FFFF00">\1</font>
(冒号后的空格仅用于更好的演示,不包含在代码中)。
希望这可以帮助每个人每天用字幕敲击。