Skip to forum content
PyDev
Форум python-разработчиков
You are not logged in.
Please login or register.
Root
»
Python
»
Непонятка с модулем re
You must log in or register to post a new topic
Posts [ 1 to 5 of 5 ]
- Registered: Dec. 28, 2008, 1:44 a.m.
- Posts: 2
Вобщем такая странная штука (питон 2.5):
re.match('ab','abcde') - работает, т.е. True
теперь:
re.match('bс','abcde') - None ! т.е. не находит, т.е. не пашет
Собствено не могу понять почему, perl и php говорят что все ок, True, а питон оказывается другого мнения по этому поводу. Вобщем
я немного смущен.
- Registered: Sept. 19, 2007, 3:30 p.m.
- Posts: 182
читай доку или здесь
http://www.intuit.ru/department/pl/python/6/5.html
"""
match(s)
Сопоставляет строку s с шаблоном, возвращая в случае удачного сопоставления объект с результатом сравнения (объект SRE_Match). В случае неудачи возвращает None. CОПОСТАВЛЕНИЕ НАЧИНАЕТСЯ ОТ НАЧАЛА СТРОКИ.
search(s)
Аналогичен match(s), но ищет подходящую подстроку по всей строке s.
"""
А вообще - рекомендую юзать метод findall. =)
- Registered: Feb. 2, 2007, 9:35 p.m.
- Posts: 422
Грубо говоря, match(r'foo') это search(r'^foo')
- Registered: Feb. 23, 2009, 12:14 a.m.
- Posts: 3
re.match('bс','abcde')
вообще-то не мешало бы почитать что такое регекспы.
вот так:
re.match('.*(bc)','abcde').group(1)
находит
- Registered: Feb. 2, 2007, 9:35 p.m.
- Posts: 422
'bc' - это вполне себе regexp, просто match неявно добавляет ^ к регулярному выражению.
Root
»
Python
»
Непонятка с модулем re