Ответ 1
filter(r.match, list)
Я хочу фильтровать строки в списке на основе регулярного выражения.
Есть ли что-то лучше, чем [x for x in list if r.match(x)]
?
filter(r.match, list)
Полный пример:
import re
mylist = ["dog", "cat", "wildcat", "thundercat", "cow", "hooo"]
r = re.compile(".*cat")
newlist = filter(r.match, mylist)
print str(newlist)
Печать
['cat', 'wildcat', 'thundercat']