フォルダ名と数値(関数が返すシーズンフォルダ)の配列を取得する関数を作成しようとしています。適切なシーズンナンバーで[Staffel =シーズンはドイツ語]ですが、私のフォルダはNamed Staffel ==ドイツのTVショー、シーズンはEng。Regexpはregex101.comを使っていますが、Pythonでは動作していません
フォルダを探して切り抜いたフォルダ(D) イム含まれています。この例では(シーズン| Staffel)それはStaffel 2の前に発生するため、2それはシーズン02を返すべき配列の
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'は非数字文字と一致します。あなたのサンプルのどれも2の後ろに数字以外の文字が続きません。 – glibdud
それはStaffel 20を返さずに、どうすれば修正できますか?私は\ Dがそのトリックをすると思った:D –
あなたは単語境界( '\ b')がほしいと思うように聞こえる。 – glibdud