Ich habe das folgende Problem mit den benötigten Daten aus Dateinamen wie folgt:
%Vor%Der Abschnitt "season XX" kann oder darf nicht vorhanden sein oder in Kurzform geschrieben sein, wie "s 1" oder "seas 1"
In jedem Fall hätte ich gerne 4 Capture-Gruppen, die als Ausgabe geben:
%Vor%Also habe ich eine Regex wie folgt geschrieben:
%Vor%Dies funktioniert nur, wenn ich einen vollständig angegebenen Dateinamen habe, einschließlich der optionalen Zeichenfolge "season XX". Ist es möglich, eine Regex zu schreiben, die "None" als group2 zurückgibt, wenn "season" nicht gefunden wird?
Es ist einfach genug, die Saisongruppe optional zu machen:
%Vor% Verwenden Sie eine nicht erfassende Gruppe ( (?:...)
) plus den 0 oder 1-Quantifizierer ( ?
). Ich musste die erste Gruppe nicht gierig machen, um zu verhindern, dass sie dem season
-Bereich des Namens entspricht.
Ich habe auch die optionalen Zeichenfolgen eason
und art
in nicht erfassbare optionale Gruppen anstelle von Zeichenklassen eingefügt.
Ergebnis:
%Vor%