Regex добавить тег к субтитрам
У меня есть файл субтитров фильма, как показано ниже:
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>
1 ответ
Ну, я просто выяснил, проверяя и анализируя ключ, чтобы соответствовать всем текстовым строкам субтитров.
Сначала из любого подзаголовка (.srt
) файл я должен удалить ненужные символы "перевод строки", т.е. \r
,
Find: \r+
Replace with:
(ничего, т.е. нулевой символ)
Тогда мне просто нужно сопоставить эти строки, не начиная с цифр и новых строк (то есть пустых строк), а затем заменить их собственным текстом, обернутым вокруг <font>
тег со значениями цвета, как показано ниже:
Find: ^([^\d^\n].*)
Replace with: <font color="#FFFF00">\1</font>
(пробел после двоеточия только для лучшего представления и не включен в код).
Надеюсь, что это поможет каждому каждый день с субтитрами.