正規表現を使用してファイル名を抽出しようとしています。ファイル名はfiles
のリストにあり、一致するパターンはsongTitle
です。Pythonの正規表現が一致しない
files = listdir(curdir)
print("Pattern : %s" % songTitle)
for songs in files:
print(songs)
re_found = re.match(re.escape(songTitle) + r'.*\.mp3$', songs)
if re_found:
FileName = re_found.group()
print(FileName)
break
files
含ま:
['.DS_Store', '__init__.py', 'command_line.py', "Skrillex & Diplo - 'Mind' feat. Kai (Official Video)-fDrTbLXHKu8.mp3"]
songTitle
を(パターンが一致する):Skrillex & Diplo - 'Mind' feat. Kai (Official Video)
出力:
Pattern : Jack Ü - Take Ü There feat. Kiesza [OFFICIAL VIDEO]
.DS_Store
__init__.py
command_line.py
Jack Ü - Take Ü There feat. Kiesza [OFFICIAL VIDEO]-C9slkeFXogU.mp3
Skrillex & Diplo - 'Mind' feat. Kai (Official Video)-fDrTbLXHKu8.mp3
EDIT:
私はいくつかのテストを実行し、問題が非ASCII文字が原因発生していることに気づきました。この場合の 'Ü'など。
待ちますので、問題は何ですか? – MooingRawr
ええ、ここにバグはありません。彼はそれが一致していないと言うが、それはうまくいくようだ。 – Bharel
're_found:'を使用してください。 'matchなら!= None:' –