Я хотел бы отфильтровать список строк в python с помощью regex. В следующем случае сохраняются только файлы с расширением ".npy".
Код, который не работает:
import re
files = [ '/a/b/c/la_seg_x005_y003.png',
'/a/b/c/la_seg_x005_y003.npy',
'/a/b/c/la_seg_x004_y003.png',
'/a/b/c/la_seg_x004_y003.npy',
'/a/b/c/la_seg_x003_y003.png',
'/a/b/c/la_seg_x003_y003.npy', ]
regex = re.compile(r'_x\d+_y\d+\.npy')
selected_files = filter(regex.match, files)
print(selected_files)
Это же регулярное выражение работает для меня в Ruby:
selected = files.select { |f| f =~ /_x\d+_y\d+\.npy/ }
Что не так с кодом Python?