正则表达式将字符插入空白 SRT
regex insert character into blank SRT
我有一个视频关联的空白SRT文件,时间码已经在转录软件平台上设置好了(即每个字幕的边界都设置好了,但字幕还没有写下来),我已经上传了将视频上传到 youtube,现在我想将空白的 SRT 文件上传到它,以便有人可以使用 YouTube 的 transcription/translation 平台转录它。
空白 SRT:
1
00:00:01,05 --> 00:00:04,64
2
00:00:05,02 --> 00:00:07,18
3
00:00:07,81 --> 00:00:11,03
4
00:00:11,04 --> 00:00:15,92
5
00:00:16,35 --> 00:00:17,11
但是有一个问题,因为字幕中没有文字,youtube 无法识别时间码,所以当 srt 上传到 youtube 中的视频时没有任何反应。
为了解决这个问题,我在每个时间代码下方的空白行中放置了一个非字母数字字符(通常是“-”)。
带破折号的 SRT 文件:
1
00:00:01,05 --> 00:00:04,64
-
2
00:00:05,02 --> 00:00:07,18
-
3
00:00:07,81 --> 00:00:11,03
-
4
00:00:11,04 --> 00:00:15,92
-
5
00:00:16,35 --> 00:00:17,11
-
这是一个非常手动的过程,可能需要很长时间。必须有一种方法可以在 Notepad++ 之类的东西中使用查找和替换并简单地添加破折号。我正在尝试使用正则表达式来做到这一点,但 运行 遇到了问题。
^$ 正确定位空白行,但是如果我只是用“-”替换它们,我会得到:
1
00:00:01,05 --> 00:00:04,64
-
-
2
00:00:05,02 --> 00:00:07,18
-
-
这是不可接受的,因为它破坏了 SRT 的语法,当将这样的 SRT 上传到 youtube 时,它认为内容是单个字幕。因此,我只需要在第一个空行中放置一个破折号,即时间码正下方的空行。
我不知道如何只 select 每对空行中的第一个空行。任何解决方案将不胜感激。
可以在行尾匹配特定格式后跟一个换行符,直接断言字符串的结尾,然后替换为全匹配和-
找什么
-->\h+\d\d:\d\d:\d\d,\d+\R$
替换为
[=11=]-
或者仅匹配逗号、数字和换行符后跟锚点的短变体:
,\d+\R$
我有一个视频关联的空白SRT文件,时间码已经在转录软件平台上设置好了(即每个字幕的边界都设置好了,但字幕还没有写下来),我已经上传了将视频上传到 youtube,现在我想将空白的 SRT 文件上传到它,以便有人可以使用 YouTube 的 transcription/translation 平台转录它。
空白 SRT:
1
00:00:01,05 --> 00:00:04,64
2
00:00:05,02 --> 00:00:07,18
3
00:00:07,81 --> 00:00:11,03
4
00:00:11,04 --> 00:00:15,92
5
00:00:16,35 --> 00:00:17,11
但是有一个问题,因为字幕中没有文字,youtube 无法识别时间码,所以当 srt 上传到 youtube 中的视频时没有任何反应。
为了解决这个问题,我在每个时间代码下方的空白行中放置了一个非字母数字字符(通常是“-”)。
带破折号的 SRT 文件:
1
00:00:01,05 --> 00:00:04,64
-
2
00:00:05,02 --> 00:00:07,18
-
3
00:00:07,81 --> 00:00:11,03
-
4
00:00:11,04 --> 00:00:15,92
-
5
00:00:16,35 --> 00:00:17,11
-
这是一个非常手动的过程,可能需要很长时间。必须有一种方法可以在 Notepad++ 之类的东西中使用查找和替换并简单地添加破折号。我正在尝试使用正则表达式来做到这一点,但 运行 遇到了问题。
^$ 正确定位空白行,但是如果我只是用“-”替换它们,我会得到:
1
00:00:01,05 --> 00:00:04,64
-
-
2
00:00:05,02 --> 00:00:07,18
-
-
这是不可接受的,因为它破坏了 SRT 的语法,当将这样的 SRT 上传到 youtube 时,它认为内容是单个字幕。因此,我只需要在第一个空行中放置一个破折号,即时间码正下方的空行。
我不知道如何只 select 每对空行中的第一个空行。任何解决方案将不胜感激。
可以在行尾匹配特定格式后跟一个换行符,直接断言字符串的结尾,然后替换为全匹配和-
找什么
-->\h+\d\d:\d\d:\d\d,\d+\R$
替换为
[=11=]-
或者仅匹配逗号、数字和换行符后跟锚点的短变体:
,\d+\R$