Listede Regular Expression sorgusu yapmak

Bir liste içerisinde yer alan string’ler üzerinde Python’un re modülü ile regular expression sorgu döndürebiliriz. Aşağıdaki örnekte mumlar listesinde çift sayıda mum barındıran string’leri filtreleyeceğiz:

# -*- coding: utf-8 -*-

import re

mumlar = [
    u'bir mumdur', u'iki mumdur',
    u'üç mumdur', u'dört mumdur',
    u'ondört mumdur',
]

regex = re.compile(u'iki|dört', re.UNICODE)
cevap = [mum for mum in mumlar if regex.search(mum)]

Elde ettiğimiz cevap listesi aşağıdaki gibi olacaktır:

>>> cevap
['iki mumdur', 'dört mumdur', 'ondört mumdur']