У меня есть текст/файл субтитров, как показано ниже:Regex чтобы соответствовать строку, начинающуюся с цифры, только если та же строка содержит алфавитов позже
1
00:00:58,178 --> 00:00:59,327
Some text!
2
00:00:59,329 --> 00:01:01,819
<i>Some text</i>
3
00:01:40,512 --> 00:01:41,629
2350 some text.
4
00:01:41,631 --> 00:01:43,771
Some text.
Теперь я почти разобрался, как соответствовать фактической линии субтитров по ниже регулярное выражение:
^([^\d^\n].*)
Но что, если же фактическая линия субтитров начинается с цифр (третий подзаголовок в примере)? Поэтому теперь мне нужно сопоставить также те строки, начинающиеся с цифр, только если они позже имеют алфавиты в одной строке до окончания строки.
Как я могу это сделать, комбинируя с моим выше используемым регулярным выражением?
Что делать, если линия подзаголовок просто номер? Также попробуйте этот подход: ['^ (?! \ D + $ | \ d {2}: \ d {2}: \ d {2}, \ d + -> \ d {2}: \ d {2} : \ d {2}, \ d + $). + '] (https://regex101.com/r/dPTc6v/2) –
Может ли текст содержать двоеточия? Как 'Some: text'? – sigil
Хорошо для этого случая (susbitle, начинающийся с номера). Я могу смело игнорировать его, так как регулярное выражение также столкнется с серийными номерами субтитров.Шансы на фактическую строку субтитров, содержащие только номера, являются относительно низкими по сравнению с целым файлом субтитров, но если этого можно избежать, это, безусловно, будет более благоприятным сценарием/идеальным вариантом. –