Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 19, 2009 18:36:55

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Помогите составить регулярное выражение

import re
m = re.match("/(?P<p1>[^/]*)/(?P<p2>[^/]*)(/|page|$)(?P<page>(\d*))", "/aa/bb")
print m.group('p1')
print m.group('p2')
выводит
aa
bb

import re
m = re.match("/(?P<p1>[^/]*)/(?P<p2>[^/]*)(/|page|$)(?P<page>(\d*))", "/aa/page2")
print m.group('p1')
print m.group('p2')
выводит
aa
page2

а нужно чтобы ‘page2’ попадало в группу m.group('page'), те в регулярке в фрагменте p2 (…/(?P<p2>*) …) нужно как то записать чтобы в p2 попадало ‘все что угодно кроме / И НЕ равное page<число>’ возможно ли такое сделать и как?



Отредактировано (Дек. 19, 2009 18:37:35)

Офлайн

#2 Дек. 19, 2009 19:46:37

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Помогите составить регулярное выражение

"/(?P<p1>*)/((?P<page>page\d*)|(?P<p2>.*))"



Офлайн

#3 Дек. 19, 2009 20:00:50

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Помогите составить регулярное выражение

Ed

Ed
"/(?P<p1>*)/((?P<page>page\d*)|(?P<p2>.*))"
все же интересует вариант именно без перестановки, те именно указать обработчику выражение в той форме в которой я написал - ‘все что угодно кроме / И НЕ равное page<число>’ те грубо говоря исключить именно фразу page<число> для заданного параметра, возможно такое или нет?



Офлайн

#4 Дек. 19, 2009 22:01:29

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Помогите составить регулярное выражение

Тогда так: "/(?P<p1>*)/((?P<p2>(?!page\d*)*)|(?P<page>page\d*))"



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version