Ich habe einen Text/Untertitel-Datei wie folgt:Regex, um eine Linie beginnend mit der Ziffer übereinstimmen nur, wenn die gleiche Linie Alphabete enthält später
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.
Jetzt habe ich fast herausgefunden, wie die aktuelle Untertitelzeile übereinstimmen von unten regex:
^([^\d^\n].*)
Aber was, wenn die gleiche tatsächliche Untertitelzeile beginnt mit der Ziffer (dritten Untertitel in Beispiel)? Also muss ich jetzt auch die Zeilen, die mit Ziffern beginnen, nur dann abgleichen, wenn sie später Alphabets in derselben Zeile vor der Zeilenendung haben.
Wie kann ich das tun, indem ich meine oben verwendete Regex kombiniere?
Was passiert, wenn die Untertitelzeile nur eine Nummer? Versuchen Sie auch diesen Ansatz: [^^(?! \ D + $ | \ d {2}: \ d {2}: \ d {2}, \ d + -> \ d {2}: \ d {2} : \ d {2}, \ d + $). + '] (https://regex101.com/r/dPTc6v/2) –
Kann der Text auch Doppelpunkte enthalten? Wie 'Some: text'? – sigil
Gut für diesen Fall (Susbitle beginnend mit Nummer) Ich kann es ignorieren, wie Regex wird auch mit Untertitel Seriennummern kollidieren.Die Chancen einer tatsächlichen Untertitelzeile, die nur Zahlen enthält, sind im Vergleich zur gesamten Untertiteldatei sehr niedrig, aber wenn dies vermieden werden kann, wird es definitiv ein Best Case/Idealfall sein. –