Ich versuche, eine Funktion zu machen, die ein Array von Ordnernamen und eine Nummer (welche Saison-Ordner die Funktion sollte zurückgeben) und ich möchte überprüfen, ob das ein Ordner ist mit der richtigen Staffelnummer, aber ich besitze nicht nur einfache englische TV-Shows, daher sind meine Ordner Staffel genannt == Deutsche Fernsehshow, und Staffel wenn es Eng ist.Regexp arbeitet regex101.com, aber nicht in Python
In diesem Beispiel wird die Ordner diffrent Ordner enthalten würden (d) Im der Suche nach (Staffel | Staffel) 2 sollte Saison zurückkehren 02, weil es vor Staffel 2 in einem Array
def findFolderbyNumber(path, number):
d = getFolders(path)
d = ['Staffel 1','Staffel 20','Season 02', 'Staffel 2', 'Season 3']
number = 2
for obj in d:
pattern = '(.*)(Staffel|Season)((\s?)*)((0?)*)('+str(number)+')(\D)(.*)'
m = re.match(pattern, obj)
print(obj, end='\tMatch = ')
print(m)
if(m):
return obj
return 0
Staffel 1 Match = None
Staffel 20 Match = None
Season 02 Match = None
Staffel 2 Match = None
Season 3 Match = None
'\ D' entspricht einem Zeichen ohne Ziffer. Keines Ihrer Samples hat eine 2 gefolgt von einem Zeichen ohne Ziffer. – glibdud
ohne es gibt Staffel 20, wie kann ich es beheben? Ich dachte \ D würde den Trick tun: D –
Klingt wie Sie wollen eine Wortgrenze ('\ b'). – glibdud