Вобщем такая странная штука (питон 2.5):
re.match('ab','abcde') - работает, т.е. True
теперь:
re.match('bс','abcde') - None ! т.е. не находит, т.е. не пашет

Собствено не могу понять почему, perl и php говорят что все ок, True, а питон оказывается другого мнения по этому поводу. Вобщем
я немного смущен.
читай доку или здесь http://www.intuit.ru/department/pl/python/6/5.html

"""
match(s)

Сопоставляет строку s с шаблоном, возвращая в случае удачного сопоставления объект с результатом сравнения (объект SRE_Match). В случае неудачи возвращает None. CОПОСТАВЛЕНИЕ НАЧИНАЕТСЯ ОТ НАЧАЛА СТРОКИ.

search(s)

Аналогичен match(s), но ищет подходящую подстроку по всей строке s.
"""

А вообще - рекомендую юзать метод findall. =)
Грубо говоря, match(r'foo') это search(r'^foo')
re.match('bс','abcde')

вообще-то не мешало бы почитать что такое регекспы.
вот так:
re.match('.*(bc)','abcde').group(1)

находит

'bc' - это вполне себе regexp, просто match неявно добавляет ^ к регулярному выражению.