正则表达式将标签添加到字幕

Regex add tag to subtitles

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

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.

包括特殊字符,数字and/or它们可能包含的换行符。但是我不想匹配时间字符串和序列号。

所以基本上我想匹配所有只包含数字和特殊字符的行与字母,而不是数字和特殊字符,它们单独出现在其他行,如时间字符串和序列号。

如何匹配并添加标签 <font color="#FFFF00">[subtitle text any...]</font> 到我用 Regex 帮助匹配的每个字幕?

表示如下:

<font color="#FFFF00">He seeks the spirit
of Mary Browning.</font>

嗯,我仔细查看分析,发现匹配所有字幕文本行的关键

首先,我必须从任何字幕 (.srt) 文件中删除不必要的 "line-feed" 个字符,即 \r.

Find: \r+
Replace with:

(无,即空字符)

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

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

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

希望对大家每天看字幕有帮助