2

我有一个电影的字幕文件,如下所示:

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>
4

1 回答 1

0

好吧,我只是仔细检查和分析,找到了匹配所有字幕文本行的关键。

首先从任何 subtitle( .srt) 文件中,我必须删除不必要的“换行”字符,即\r.

Find: \r+
Replace with:

(无,即空字符)

然后我只需要匹配那些根本不以数字和换行符(即空行)开头的行,然后用它们自己的文本替换它们,并用<font>带有颜色值的标签包裹起来,如下所示:

Find: ^([^\d^\n].*)
Replace with: <font color="#FFFF00">\1</font>

(冒号后的空格只是为了更好地展示,不包含在代码中)。

希望这可以帮助每个人每天都用字幕打头。

于 2016-11-30T16:53:48.800 回答