Vorrei filtrare un elenco di stringhe in python usando regex. Nel seguente caso, mantenendo solo i file con estensione ".npy".stringhe di filtro per regex in un elenco
Il codice che non funziona:
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)
La stessa espressione regolare funziona per me in Ruby:
selected = files.select { |f| f =~ /_x\d+_y\d+\.npy/ }
Cosa c'è di sbagliato con il codice Python?
Si wa n per filtrare gli elementi in 'file' con l'estensione' .npy'? –